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.

にある配列の数を数えることができれば、 totalRecords の部分を取り除くことができますdatadata.length動作しません。それはちょうど私に与えるべきです1が、それは正しくない100以上を与えます.

totalRecords 値にアクセスし (または、その中にある配列の数を数えるだけ)、データをループして DOM を操作するだけです。

こんな些細な悩みでも解決できれば幸いです。

4

1 に答える 1

1

次のように totalRecords 値にアクセスしています。

data.totalRecords

json ではそのフィールドの値が実際に 1 であるため、1 を返すことは理にかなっています。

"totalRecords":1

要素の配列にアクセスするには、データ フィールドを使用する必要があります。

data.data

編集: $.getJSON() メソッドを使用する必要があるため、jQuery は生データだけでなく JSON として解釈します。

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

于 2012-10-03T16:05:29.447 に答える