simshaun回答了您的直接問題,但我懷疑您也可能對AJAX調用的異步性質有疑問,即arrayData
將爲undefined
,直到從服務器重新創建響應並調用成功函數爲止。
無論你想在arrayData
之後做什麼,調用成功函數之後都需要從成功函數中調用。例如
var arrayData;
$.ajax({
type: "..",
url: "..",
data: ..,
success:function(data){
arrayData = jQuery.parseJSON(data);
doSomethingElse();
}
});
function doSomethingElse() {
/* do something else here with arrayData */
arrayData.doSomething();
}
現在,在這一點上,我們實際上可以去除arrayData
共
$.ajax({
type: "..",
url: "..",
data: ..,
success:function(data){
doSomethingElse(jQuery.parseJSON(data));
}
});
function doSomethingElse(data) {
/* do something else here with the returned data */
data.doSomething();
}
事實上,我們可以走得更遠。所有分配給成功財產匿名函數是真正做的是調用doSomethingElse
這樣我們就可以擺脫這一點,只需調用doSomethingElse
直接
$.ajax({
type: "..",
url: "..",
data: ..,
success: doSomethingElse
});
function doSomethingElse(data) {
/* do something else here with the returned data */
var arrayData = jQuery.parseJSON(data);
}
這是清潔/更清晰?
是的,謝謝! – Luis