我的php版本是5.2.17,当我json_decode($_GET['getItem'])
返回null结果!
function getItem(id){
$.getJSON(
"items.php",
{ getItem: '{"item": "' + id + '"}'},
function(json) {
$("#"+json.itemName).html(json.itemData);
}
);
items.php
header('Content-Type: application/json');
$jItemArray = json_decode($_GET['getItem']);
var_dump($jItemArray);
die;
答案 0 :(得分:2)
我认为params将获得URI编码。我会输出$_GET['getItem']
的值以查看它是什么。我猜你只需要先运行urldecode
,然后再运行json_decode
。
有了这个说...你有理由发送 json而不是标准参数编码吗?
答案 1 :(得分:1)
是的,问题发生在$_GET['getItem']
我发现它的数据不正确
array(1) {
["getItem"]=>
string(18) "{\"item\": \"35\"}"
}
通过在magic quotes
中转动php.ini
,它可以完美地运作
magic_quotes_gpc = Off
谢谢大家指出我
答案 2 :(得分:-3)
你的php应该是:
header('Content-Type: application/json');
echo json_encode($_GET['getItem']);