Php 为什么json.stringify之后的json中为空?
PHP5.4FastCGI jquery1.10 Jquery代码:Php 为什么json.stringify之后的json中为空?,php,jquery,json,Php,Jquery,Json,PHP5.4FastCGI jquery1.10 Jquery代码: $.ajax({ type: "POST", url: "", dataType: "json", data: { json: JSON.stringify({test: 'teste'}) } }).done(function(msg) { var msg = $.parseJSON(msg);
$.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以及如何删除它。因为如果我尝试使用:
$i = info['test'];
echo $i;
我将收到:
testenull似乎您的JSON数据就是问题所在 PHP中的
json\u decode()
将json编码的字符串作为输入,并将其转换为PHP变量
它是这样工作的
<?php
$json = '{"test": 12345}';
$obj = json_decode($json);
print $obj->{'test'}; // 12345
?>
无需将字符串化
,您已经将数据类型:'json'
数据类型:'json'设置为您希望从服务器接收的内容。问题不在于对jquery的响应,而在于json中的空值。只需尝试数据:{test:'teste}
然后在PHP中访问,如$test=$\u POST['test']
。jQuery将序列化您的数据。您确定“null”不是来自其他地方吗?它出现在数组外部的var\u dump($info)
@koala\u dev,谢谢,是的,空值来自另一件事,problen解决了