2014-01-11 260 views
0

我學習下面的代碼,我想知道的回調函數如何得到它的參數的參數:jQuery的 - Ajax請求

做請求

getData("hg34j3", loadData); 

回調函數

function loadData(param) { 
    var data = param; 
    ...... 
} 

獲取數據

function getData(anId, callback) { 
    var request = $.ajax({ 
     url: url + "abc/" + anId, 
     type: "GET" 
     });  
     request.done(callback); 
+0

你能解釋一下你的意思嗎?對不起,但我不確定你想問你的問題。 –

+0

如[文檔](http://api.jquery.com/jquery.ajax/)中所述,jQuery將使用三個參數「data,textStatus,jqXHR」調用回調函數 - 您的回調可以使用其中的任何一個它需要的論點。 – nnnnnn

+0

@ Qantas94Heavy這個詞回調沒有像loadData這樣的大括號。 – user2952265

回答

1

聲明

request.done(callback) 

不完全調用回調函數。相反,它將對回調函數的引用傳遞給jQuery Deferred對象的.done方法。在那個對象內是對回調函數的實際調用。如果您要查看jQuery的源代碼,您會發現當Ajax完成時,它確實會使用Ajax結果的參數調用該函數。