JSON返回空数据

时间:2012-06-04 11:29:11

标签: php json

我的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;

3 个答案:

答案 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']);