我正在尝试将$.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);
});
});
答案 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;
}