0

我在访问 JSON 编码的 PHP 关联数组时遇到了一些问题。我得到 JSON 编码的数组$.get();并将其分配给data变量。

$.get("includes/ajax/public.php", { do: "get-data", id: value },function(data) {
// NO DATA
if (!data || data == 'false') $('#noData').slideDown('slow');
// THERE IS DATA
else {
if ($('#noData').is(':visible')) $('#noData').hide();
$('#records').html(data.totalRecords);
console.log(data["totalRecords"]);
console.log(data);
}
});

这就是我在控制台中得到的。

{"totalRecords":1,"data":[{"id":"1","country_id":"224", "name":"data name","address":"data address"}]}

我必须访问 totalRecords 并循环数据数组。但是我无法访问它。

console.log(data.totalRecords); //outputs undefined.

或者

console.log(data['totalRecords']); //outputs undefined.

如果我可以计算data. data.length不起作用。它应该给我,1但它给了我超过 100 个,这是不正确的。

我只需要访问 totalRecords 值(或者只计算其中有多少个数组),然后循环数据以操作 DOM。

如果你能帮我解决这个小问题,我会很高兴。

4

1 回答 1

1

您正在访问 totalRecords 值,如下所示:

data.totalRecords

它返回 1 是有道理的,因为在 json 中该字段的值确实是 1:

"totalRecords":1

您必须使用数据字段才能访问元素数组:

data.data

编辑:您必须使用 $.getJSON() 方法,以便 jQuery 将其解释为 JSON 而不仅仅是原始数据。

http://api.jquery.com/jQuery.getJSON/

于 2012-10-03T16:05:29.447 回答