2012-04-04 14 views
0

私のPHPスクリプトで返されたJSONから配列データを取得するにはどうすればよいですか?jQueryを使用してJSON配列からデータを表示する方法

PHPコード:

<?php 
//connects to database 
include 'connect.php'; 
$callback = $_GET['callback']; 

$query = mysql_query("SELECT * FROM users"); 
$rows = array(); 
while($r = mysql_fetch_assoc($query)) { 
    $rows[] = $r; 
} 

$out_string = json_encode($rows); 

print $callback.'('.$out_string.');'; 
?> 

上記のPHPコードは、アレイとJSONencodesそこにユーザ・テーブルのすべての行を置きます。

$.getJSON(domain_path + 'generate.php?table=' + tbname + '&callback=?', function(data) { 
}); 

返されたJSON配列から各行を表示するにはどうすればよいですか?

例えばデータが送り返されます。

([{"name":"user1","link":"google.com","approve":"true"},{"name":"user2","link":"yahoo.com","approve":"true"},{"name":"user3","link":"wikipedia.com","approve":"true"}]); 

どのように私はこのようにそれを表示するには、JavaScriptの(jQueryの)を使用します。

 
Name: User1 , Link: google.com , Approve:True 
Name: User2 , Link: yahoo.com , Approve:True 
Name: User3 , Link: wikipedia.com , Approve:True 

答えて

0

あなたは

function(data) { 
    $.each(data, function(){ 
     $('#result').append('<p>Name:'+this.name+' Link:'+this.link+' Approve'+this.approve+'</p>'); 
    }); 
} 
を行う必要があります

ここをクリックhttp://jsfiddle.net/hUkWK/

0
$.getJSON(domain_path + 'generate.php?table=' + tbname + '&callback=?', function(data) { 
    $.each(data, function(i, item) { 
    $("#mycontainer").append("<p>Name: " + item.name + "</p>"); 
    $("#mycontainer").append("<p>Link: " + item.link + "</p>"); 
    }); 
}); 
1

print $callback.'('.$out_string.');';を実行すると、JSON形式の文字列が破損しています。代わりに配列で返信して、行をループしてデータを表示します。

$out_string = json_encode(array('callback' => $callback, 'rows' => $rows)); 
+0

OPはjQueryのviのクロスドメインAJAX呼び出しのJSONPを使用している場合は、彼の元 'print'ラインは正解でした。私はクロスドメインコールを達成するために昨日同じフォーマットを正確に使用しなければならなかった – DaveyBoy

+0

はい、私はクロスドメインコールを行っています。 – sm21guy

関連する問題