【发布时间】:2015-12-16 06:36:39
【问题描述】:
我想获得一个用于 Ajax 的数组。我已经在另一个页面上使用了这个方法,这次它不起作用,所以我看不出问题出在哪里。
我有一个数组:
var array_downloads = <?php echo json_encode($array_downloads);?>;
这个数组不为空,当我执行console.log 时,我得到了内容,即元素列表。
之后,我就这样提出了我的 Ajax 请求:
$.post("pack.php", {arr:array_downloads}, function(data) {
...
},'json');
所以我将我的数组发送到文件.php。
最后我想得到这个数组:
$array_downloads = $_POST["arr"];
当我尝试回应它时(我不会忘记json_encode()),我得到null。
我不明白为什么。
请帮忙!
【问题讨论】:
-
回显此
file_get_contents("php://input")并分享结果。这是发送到 PHP 的 $_POST 的原始数据 -
@StephenBugsKamenar 它什么也不显示:/
-
这可能不是错误的原因,但我很确定您调用 $.post 的方式会自动将对象转换为查询字符串,而不是 JSON 字符串。您需要对对象进行字符串化,或者告诉 JQuery 不要转换它。请参阅api.jquery.com/jQuery.ajax 上的“processData”。
-
出于调试目的尝试:var_dump ($_REQUEST);
标签: javascript php jquery arrays ajax