1

我试图掌握如何使用$.getJSONPHP 中的数组。

这是一个简单的示例,我要做的就是输出请求的信息。应该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);    
    });
}); 
4

2 回答 2

2

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

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

但是,您不会看到这一点。相反,您将看到 Parse Error, expected ;。因为你忘了就echo行了。

这就是你看到 no 的原因alert。PHP 错误显然不是有效的 JSON,查看浏览器的错误控制台会告诉您这一点;)

于 2012-04-17T16:01:09.090 回答
0

在我的项目中,我使用转储函数来查看 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;
}
于 2012-04-17T16:15:03.217 回答