php 5.4 fastcgi jquery 1.10
Jquery代码:
$.ajax({
type: "POST",
url: "",
dataType: "json",
data: { json: JSON.stringify({test: 'teste'}) }
}).done(function(msg) {
var msg = $.parseJSON(msg);
alert(msg);
});
PHP代码:
$json = $_POST['json'];
$info = json_decode($json, true);
var_dump($info);
结果:
array(1) {
["test"]=>
string(5) "teste"
}
null
我不知道为什么这个 null apper以及如何删除它。因为如果我尝试使用:
$i = info['test'];
echo $i;
我会接受: 的 testenull
答案 0 :(得分:2)
好像您的 JSON 数据就是问题。
PHP 中的 json_decode()
将JSON编码的字符串作为输入并将其转换为PHP变量。
它像这样工作
<?php
$json = '{"test": 12345}';
$obj = json_decode($json);
print $obj->{'test'}; // 12345
?>
答案 1 :(得分:0)
因为你设置的dataType是JSON所以在PHP中,响应也必须是JSON格式。
示例:echo'{“i”:'。$ i。 '}';