這是我第一次嘗試做延期功能,我明顯地發現了錯誤。我有點困惑,有這樣做的顯然幾種方法,但我想從最簡單的工作,我能找到延期getJSON的回報是未定義的
Get_JSON(my_url).done(function(data) {
console.log(data['name']);
});
function Get_JSON(url) {
var def = $.Deferred();
$.getJSON(url).done(function(data){
console.log(data['name']);
def.resolve({
data:data
});
});
return def;
}
我的控制檯輸出爲:
John
undefined
(約翰是預期的名稱)
我懷疑這是def.resolve
部分,我錯了。
+1避免不必要的函數代理 – pomeh 2014-08-27 22:15:00
考慮'console.dir(data)',它可以讓你檢查'data'的所有屬性,而不僅僅是'.name'。 – 2014-08-28 00:51:11