2012-02-28 177 views
0

我使用JQuery AJAX檢索某些數據(標題和說明)。正如你可以看到我打通的結果,並出結果的JSON數組和循環div標籤中在JQuery中檢索json數組後獲取json對象Ajax

 success : function(jsonArray) 
     { 

      $.each(jsonArray,function(messageIndex,jsonObject) 
      { 
       $("#results").append(jsonObject.title + " " + jsonObject.description); 
      }) 

     } 

的JSONArray包含JSON對象,像這樣:

title  : test Title 1 
description : test Description 1 

title  : test Title 2 
description : test Description 2 

的JSONArray由創建我有後端應用程序,然後將結果傳遞給客戶端(JQuery AJAX)。如果可以的話,後端也負責顯示一個按鈕。我如何讓客戶知道是否顯示按鈕?

我正在考慮讓另一個JSONObject具有關於要顯示的按鈕的詳細信息。 例如,把JSONObject會像

showButton: false 
colour : red 
size  : 50px 

的問題是,我不知道怎樣在我JQuery的AJAX的成功代表了這一點。目前我給出的是一個JSONArray,它可以遍歷這些對象,但它將如何知道它碰到了按鈕json對象?

我是否需要進行另一次AJAX調用來獲取對象?

回答

0

您當前對象的結構是這樣的:

[ { "title" : "...", "description" : "..." } , ... ] 

相反,你可以有你的後端返回的結構是這樣的:

{ 
    "data" : [ { "title" : "...", "description" : "..." } , ... ], 
    "button" : { "showbutton" : false, "colour" : "red", "size" : "50px" } 
} 

然後在回調函數:

success : function(response) { 
    $.each(response.data, function(messageIndex,jsonObject) { 
     $("#results").append(jsonObject.title + " " + jsonObject.description); 
    }); 

    if (response.button.showbutton) { 
     // create button using response.button.colour and response.button.size 
    } 
} 

(注意JSON是字符串用於發送數據的表示,但是一旦它被解析並且在成功函數中開始使用它,它不是JSON或「JSON對象」或「JSON數組」,它只是一個對象或數組。)

+0

謝謝。我已經將JSONArray(data)和JSONObject(button)放入JSONObject中,並將其發送給客戶端進行解析。 :) – Decrypter 2012-02-29 12:50:53