2011-12-28 60 views
-3

我有一個ajax調用,它將數據返回給我。如何重用json數據

說我有AJAX返回數據

$.ajax({ 
      url : "quoteSearch", 
      dataType : "json", 
      data : $("#searchCriteria").serialize(), 
      success : function(data) { 
       populateTable(data); 

      }, 
      error : function(data) { 
       console.log(data); 
      } 
     }); 

現在我想用這個表中的數據以更新UI。

說如果我加10輸入框。並點擊開始按鈕它應該在列的所有引號中加10。

我應該怎麼做。

+1

這與'ajax'有什麼關係? – zerkms 2011-12-28 09:47:32

+0

現在,如果我想發送ajax請求與以前的ajax數據,例如上面的示例中的「數據」,再加上一個字段,除了舊數據。我應該如何執行此操作? – 2011-12-28 12:42:36

回答

0

您似乎在詢問如何使用data由非代碼的另一部分的ajax調用返回的非特定時間,具體取決於用戶何時單擊按鈕。如果是這樣,你可以在一個變量範圍保存data Ajax調用之外,那麼從你的代碼的其他部分訪問:

var ajaxData; 

$.ajax({ 
    url : "quoteSearch", 
    dataType : "json", 
    data : $("#searchCriteria").serialize(), 
    success : function(data) { 
     ajaxData = data; 
     populateTable(data); 
    }, 
    error : function(data) { 
     console.log(data); 
    } 
}); 

$("#yourbutton").click(function(){ 
    // do something with ajaxData 
    if (typeof ajaxData != "undefined") { 
     var valueToAdd = $("#yourinput").val(); 
     // your processing here 
    } 
}); 

未定義的測試是爲了讓你的AJAX調用之前點擊按鈕已經完成,在這一點上ajaxData(顯然)還沒有價值。

您可能需要更新您的populateTable()函數,以便它帶有要添加的值的參數。然後,在您的ajax成功中,您將該參數設置爲0,但在您的按鈕單擊處理程序中,您將該參數設置爲輸入的值。推測你的populateTable()函數已經知道如何從data檢索值,所以你可以在該功能中做額外的添加。如果沒有看到其他代碼,我真的不能提供更具體的建議。

0

在您的populateTable函數中,您應該使用$.each(data,function(k,v){ ... })來遍歷數據並使用這些值。如果沒有看到data或您嘗試操作的HTML或populateTable函數內部的內容,則很難更具體地回答。