2012-04-06 13 views
0

可能性の重複:
Json Returning [object object] instead of array値の代わりに[オブジェクトオブジェクト]を返す配列ですか?

私はPHPファイルへのPOSTリクエスト経由で引っ張られているサブアレイを、含まれている配列を持っています。問題は、配列オブジェクトの値を返す方法を見つけるのは難しいことですが、それを繰り返すことはできません。

Javascriptが

$.ajax({ 
    type: 'POST', 
    url: 'php.php', 
    data: 'id=testdata', 
    dataType: 'json', 
    cache: false, 
    success: function(result) { 
     alert(result[0]); // returns [Object object] 
    }, 
}); 

私はそれが適切にPHPファイルから配列をつかんされていることを確信しています。

ここはthe PHP fileです。

+0

何が結果になると思いますか? – Bazzz

+0

http://stackoverflow.com/questions/7620953/json-returning-object-object-instead-of-array – c69

答えて

0

あなたは次のようにそれを反復処理することができます。

$.each(result, function() { 
    alert(this.name); // or this.id, this.description, etc. 
}); 

私はその後、より説明出力を得るためにconsole.log(result);をやって、そのようなFirebugのようなツールを使用することをお勧めします。

3

resultはオブジェクトの配列なので、result[0]が最初のオブジェクトです。たとえば、idにアクセスするには、result[0]['id']を使用します。オブジェクトの配列を反復処理するためには、例えば、このようなループのために使用することができます。

for(var i=0, len = result.length; i<len; i++) { 
    //write your code for each object in the results here 
    var id = result[i]['id']; 
} 
2

あなたは

alert(result[0]['field_name']); 
....私が意味する、表示するために1をWICH、あなたのオブジェクトに指定する必要があります。私は、MySQLをキシにする場合、次の構文を使用することをアドバイスでき

あなたは「ID」1からいくつかのデータをフェッチするためにPHPを使用しているとして、このSYNTで

echo json_encode(mysql_fetch_object(mysql_query('your_query'))); 

警告は次のようになりますので、斧、あなたが、あなたのクエリでフェッチのすべてのフィールドを1つのオブジェクトのみを取得します:

alert(result['field_name']); 

私は願って、このことができます。

関連する問題