2009-02-05 27 views
6

我正在開發一個應用程序,它會向我的服務器上的PHP腳本發出POST ajax請求。該腳本將查詢數據庫並返回一行記錄,作爲數組。 (每行一個數組,包含id,title等元素)。然後我想用json_encode()對這個數組進行編碼,並將它傳回給用來顯示記錄的javascript。如何在JQuery中使用JSON?

1)如何將JSON編碼的字符串返回給javascript? 2)javascript將如何遍歷行並訪問它們的字段?

回答

11

要使用jQuery獲取JSON,只需使用jQuery.getJSON()。或者,您可以使用任何其他AJAX工具,然後只需eval()json即可獲取javascript對象。

要通過數組循環,我通常使用jQuery.each()

var recordList = yourMethodToGetRecordListWithAjax(); 

jQuery.each(recordList, function() 
{ 
    alert(this.Name); // For example 
}); 
+0

有一個在你的答案一個小錯字,jquery.each應該是$。每。除此之外,它的作品不錯:) – 2009-02-05 13:06:47

0

您可以通過使用應用程序/ JSON的內容類型呼應它返回JSON編碼字符串的JS。

請參閱上面的答案。

3

1)在PHP腳本:

$return["foo"] = "bar"; 
$return["blah"] = "bleg"; 
print json_encode($return); 

2)在JavaScript:

  $.ajax({ 
        type: "POST", 
        url: URL, 
        cache:false, 
        data: values, 
        dataType:'json', 
        success: function(json) 
        { 
        var foo = json.foo; 
        if (json.blah == "bleg") 
        { 
         // do stuff 
        } 

        } // end success function 
       });  // end ajax call