2013-09-26 17 views
0

JQuery Docs中的這些參數在哪裏?

jqXHR.done(function(data, textStatus, jqXHR) {}); 

http://api.jquery.com/deferred.done/

例如,我試圖尋找什麼data是並不能找到它。

另外,我看到像.done(function(msg){})

// Create a deferred object 
var dfd = $.Deferred(); 
// Add handlers to be called when dfd is resolved 
dfd 
// .done() can take any number of functions or arrays of functions 
.done([ fn1, fn2 ], fn3, [ fn2, fn1 ]) 
// We can chain done methods, too 
.done(function(n) { 
$("p").append(n + " we're done."); 
}); 

例子所以我很清楚困惑的參數是如何傳遞給這個函數。

我需要得到responseText我想,我在PHP中迴應了一個數字。

謝謝!

回答

4

jQuery .ajax()

函數。如果請求成功被調用。函數獲取 傳遞三個參數:根據dataType參數從服務器返回的數據,格式化爲 ;描述狀態的字符串; 和jqXHR(在jQuery 1.4.x,XMLHttpRequest中)對象。

你想要data;這是你的服務器響應。

+0

怎麼了我放在哪裏.done(function(n){})的例子,接收一個'n'參數?數據是什麼? – JorgeeFG

+0

JS參數不是必需的,所以無論你怎麼稱呼第一個參數都是第一個參數。在這種情況下''n'就是你的'數據'。 – Mathletics

+0

因此,我將有這些參數可用'jqXHR.done(function(data,textStatus,jqXHR){});'然後我可以按順序使用它們的名稱? – JorgeeFG

1

.done與您的JQuery.ajax屬性中的成功回調相同。回調這裏描述:如下:

http://api.jquery.com/jQuery.ajax/

成功 類型:Function(PlainObject數據,字符串textStatus,jqXHR jqXHR)

.done需要1-n的功能或功能的陣列這應該被調用您的Ajax調用成功

data只是您收到的數據作爲服務器的響應,一些json對象...

0

當您使用承諾的.done()方法註冊回調時,此回調將傳遞參數,該承諾將通過promise.resolve(data)來解決。在jQuery Ajax請求的情況下,服務器響應主體是XHR許諾所解決的數據。