【发布时间】:2013-04-16 17:47:17
【问题描述】:
我有一个带有 onclick 事件按钮的 html 表单
<form id = "abc" action = "xyz.php" method = "post">
<input type="button" name="submitButton" value="Submit"
id="submitButton" onclick = "Function()">
</form>
在 JS 代码中,我尝试发布文本框的值并尝试通过 json_encode 从 PHP 获取数组。
var valueToSend = $('#textbox').val();
var imagesReturned = new Array();
$.ajax({
url: "xyz.php",
type: "POST",
data: valueToSend,
dataType:"json",
success: function(result) {
var data = jQuery.parseJSON(result);
alert(data);
}
});
这是我的 PHP 代码,
if(isset($_POST['valueToSend']))
{
$searchValues = explode(' ',$_POST['valueToSend']);
// Some processing here
echo (json_encode($responseArray));
}
当我提醒数据时,我得到空值,我错过了什么?
谢谢!
【问题讨论】:
-
$responseArray包含什么? -
它是一个字符串数组。例如,它包含abc,xyz,pqr等。
-
在你使用
parseJSON的那一行加一个断点,看看result是不是预期的值。 -
您的脚本是否使用任何自定义缓冲?
-
您的回调中不需要
var data = jQuery.parseJSON(result);。它已经被解析了。另一方面,来自 PHP 的 JSON 响应将始终为空。您永远不会发送正确的响应,因为它会包含无效数据。