我正在使用 jQuery,并且我有以下代码:
var result = [];
if ( some_condition ) {
result = [...]
} else {
$.ajax({
url: some_url,
data: some_data,
dataType: 'json',
success: function(data) {
items = data
}
});
result = items
}
// Playing with the 'result' variable...
当 some_condition
为 false
时,上面的代码会生成错误“items is not Defined
”(我认为发生这种情况是因为变量作用域是不正确)。
我想将 result
变量设置为 AJAX 响应数据,但我不知道如何解决该问题。
注意:我尝试这样做是因为我想在 if ... 之外使用
语句(即上述代码中的 result
变量外部 elseif ... else
语句之后)。
最佳答案
简单地使ajax函数不异步
var result = [];
if ( some_condition ) {
result = [...]
} else {
$.ajax({
url: some_url,
data: some_data,
dataType: 'json',
async: false,
success: function(data) {
items = data
}
});
result = items
}
关于javascript - 如何将变量设置为 AJAX 响应数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13523127/