【发布时间】:2015-08-17 11:48:26
【问题描述】:
我试图在 php 脚本之间传递和返回一个数组,我已经测试了 json_ecode 部分及其工作,但我无法在 php 端获取 json_decode。
Javascript
scid_list = [];
$('.filter_on').each(function(){scid_list.push($(this).data("scid"));});
$.ajax({
type: "POST",
dataType: "json",
data: {scid_list:scid_list},
url: "/scripts/products_filter.php",
success: function(data){
alert(data.join('\n'));
}
});
PHP
<?php
$scid_list=(json_decode($_POST['scid_list'], true));
echo json_encode($scid_list);
exit();
?>
我也尝试在解码时忽略 true
$scid_list=(json_decode($_POST['scid_list']);
根本不解码
$scid_list=$_POST['scid_list'];
我不确定我错过了什么。我也尝试过序列化数据,但如果您将 dataType 指定为 json,我不必这样做,我尝试使用 stripslashes
感谢任何帮助!
干杯
【问题讨论】:
-
出于好奇,简单的
var_dump或print_r输出什么? -
你能把你得到的东西发到
$_POST['scid_list'] -
你传递的好像不是JSON,而是一个以数组为值的对象
-
你没有发送任何 json 那么你为什么需要使用
json_decode? -
jQuery 将您发送的数据转换为
www-x-form-urlencoded,而不是 JSON
标签: javascript php jquery ajax json