2013-10-18 50 views
1
function getMDBChanges(syncURL, LastSync, WSName, callback) { 

    $.ajax({ 
      url: syncURL + WSName, 
      dataType: "json", 
      success: function (data) { 
       callback(data); 
      }, 
      error: function (model, response) { 
       Notify("divNoteLeft","Nothing to be Sync'd from the Server with URL " + syncURL + WSName); 
      } 
    }); 

} 

這是我正在運行的代碼。這工作正常。但是我仍然不明白成功回調的確切功能。
謝謝ajax調用如何將數據返回給變量?

+0

某處在你的代碼中可能已經定義了'callback'方法,你將處理數據從阿賈克斯 – Praveen

+0

返回時,它會從它調用回調函數服務器的所有數據。回調是getMDBChanges函數的第4個元素 – dinodsaurus

回答

1

success(和error)回調是函數引用(它們指向函數)。當jQuery接收到AJAX請求的成功響應時,它執行函數引用指向的函數,並將其傳遞給三個參數:返回的響應(可能會根據指定的數據類型對其執行一些預處理),狀態(作爲字符串)以及發出請求的jqXhr對象。

就是這樣:使用一些參數調用函數; data只是函數定義中參數的名稱,您可以隨意調用它。它不會將任何數據返回給變量。

0

無論在你的代碼中,你正在調用函數getMDBChanges,你正在傳遞一個回調函數,我假設它處理返回的數據。如果你想知道該功能是什麼,請添加一個console.log(callback);,你將會看到該功能是什麼以及它在做什麼。

1

在回調,

function getMDBChanges(syncURL, LastSync, WSName, callback) 

函數調用可能在回調區域內的功能。 例如,

getMDBChanges("www.xyz.com","21st April","WSName",function(data) { 
    alert(data); 
}); 
+1

謝謝!非常 – Prasanna