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