【发布时间】:2014-01-07 20:11:48
【问题描述】:
我正在尝试通过让 php 文件将 javascript 回传的结果返回给 javascript 来测试从 javascript 到 php 文件的数据是否成功提交。我在 ajax 帖子中得到了成功的响应,但数据是一个空字符串。如何查明发布了哪些数据?这是我的代码:
JAVASCRIPT:
var benefitsArray = ["someData","someOtherData"];
$('#drop-submit').on('click',function(){
if (benefitsArray.length > 0){
var formData = { "benefits" : benefitsArray };
debugger;
$.ajax({
url : "dd-receiver.php",
type: "POST",
data : formData,
success: function(data, textStatus, jqXHR)
{
console.log(data); //result is "";
debugger;
//data - response from server
},
error: function (jqXHR, textStatus, errorThrown)
{
console.log('failure');
}
});
}
});
PHP:
<?php
echo $_POST["benefits"]
?>
更新:
我在 php 代码中得到了响应:
echo json_encode($_POST['benefits']);
但问题是在javascript中,如果我记录数据,结果是
"["someData","someOtherData"]"(一个字符串)
而不是
["someData","someOtherData"](一个数组)
如何让它返回一个数组而不是一个字符串?
【问题讨论】:
-
回显
"Hello World!"有什么不同吗? -
在点击函数末尾添加
return false;有帮助吗?没有它,您可能正在提交表单,并且函数的其余部分都不会执行。 -
顺便说一句,回显数组只会回显单词“Array”,而不是内容。
-
你能提供
var_dump($_POST);的输出吗? -
在Javascript中,如果你将
dataType: "json"作为选项添加到$.ajax,jQuery会自动解析JSON并提供data作为对象。
标签: javascript php jquery post