学习getjson

时间:2012-04-17 15:57:53

标签: php jquery

我正在尝试将$.getJSON与PHP中的数组一起使用。

这是一个简单的例子,我想要做的就是输出所需的信息。 alert(data)应该返回数组对象吗?我没有提醒任何事情。

PHP文件(account.php):

$arr = array('items' => 5,'others' => 6); 
echo $arr = json_encode($arr)

HTML文件:

$("#unsubscribe").click(function() {
    $.getJSON("account.php?", function(data) { 
        alert(data);    
    });
}); 

2 个答案:

答案 0 :(得分:2)

首先,如果您尝试在浏览器中加载account.php,这可能是一个好主意。你应该期待看到:

{"items":5,"others":6}

但是,你不会看到这个。您将看到预期;的分析错误。因为您忘记了echo行。

这就是为什么你看不到alert。 PHP错误显然是无效的JSON,查看浏览器的错误控制台会告诉你这个;)

答案 1 :(得分:0)

在我的项目中,我使用dump函数来查看json返回的数组。 这是:

function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects 
    for(var item in arr) {
        var value = arr[item];

        if(typeof(value) == 'object') { //If it is an array,
            dumped_text += level_padding + "'" + item + "'"+"\\n";
            if (level < 0)
                dumped_text += dump(value,level+1);
        } else {
            dumped_text += level_padding + "'" + item + "' => '" + value + "'"+"\\n";
        }
    }
} else { //Stings/Chars/Numbers etc.
    dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}