我无法弄清楚为什么这不起作用,请帮助!!我刚收到消息“decoding =”
mydata = JSON.stringify(array_str_idnum);
$.ajax({
type: 'post',
cache: false,
url: 'parser.php',
data: mydata,
datatype: 'json',
success: function(msg){
$("#formstatus").ajaxComplete(function(){$(this).html(msg)});
}
});
<?php
// decode JSON string to PHP object
$decoded = json_decode($_POST['myJson'],true);
echo "decoded =";
echo $decoded;
?>
答案 0 :(得分:2)
如@Reanimation
所示,您需要发送包含JSON数据的参数。我建议采用更多JavaScript方式:
$.ajax({
type: 'post',
cache: false,
url: 'parser.php',
data: {'myJson': mydata},
datatype: 'json',
success: function(msg){
$("#formstatus").ajaxComplete(function(){$(this).html(msg)});
}
});
另一件事是$decoded
实际上只要原始array_str_idnum
是数组就会包含数组,因此echo $decoded
会输出Array()
。另请注意,json_decode
的第二个参数是将对象作为关联数组返回。