我尝试仅使用一个函数获取JSON信息,并且工作正常。当它变成两个或更多时虽然指出应该使用数组数组。
如何解码此信息?
$response = array("home"=>$home, "topr"=>$top);
echo json_encode($response);
$(document).ready(function() {
$.get("php/get_ratings.php")
.done(function(data) {
var results = jQuery.parseJSON(data); // Should I change this?
$.each(results, function(i, value) { // Or this?
})
});
});
答案 0 :(得分:3)
PHP称之为“数组”的并不是大多数语言所谓的“数组”,包括JSON和JavaScript。您的回复将采用以下形式:
{"home": something, "topr": something}
在您的代码中:
不,你不需要解析它,如果正确发送(例如,使用Content-Type: application/json
),jQuery会为你做这件事。
您可以访问所收到对象的.home
和.topr
属性。
E.g:
$( document ).ready(function() {
$.get( "php/get_ratings.php")
.done(function(data) {
// use data.home and data.topr here
});
});
你用它们做什么取决于它们是什么,你没有表现出来。如果它们是数字索引数组(大多数语言称为数组),您的响应将如下所示:
{"home":["stuff","here"], "topr": ["stuff","here"]}
... .home
和.topr
将是JavaScript数组。
如果它们是像您的顶级事物那样的PHP关联数组,那么它们将作为对象出现,其属性以关联数组的键命名。