【发布时间】:2012-08-15 09:51:29
【问题描述】:
对不起,如果这是重复的,但我在以前的帖子中找不到任何令人满意的答案。
$(function() {
$.ajax({
url: 'ajax/test.html',
success: function(data) {
// Data received here
}
});
});
[或]
someFunction() {
return $.ajax({
// Call and receive data
});
}
var myVariable;
someFunction().done(function(data) {
myVariable = data;
// Do stuff with myVariable
});
上面的代码工作得很好。但是,这个 ajax 请求是在页面加载时发出的,我想稍后处理这些数据。我知道我可以在回调中包含处理逻辑,但我不想这样做。由于调用的异步性质,将响应分配给全局变量也不起作用。
在上述两种方式中,“数据”都被限制在成功回调或完成回调中,如果可能的话,我想在这些之外访问它。以前可以使用 jQuery 'async:false' 标志,但在 jQuery 1.8 中已弃用。
感谢任何建议。谢谢。
【问题讨论】:
-
您希望何时处理数据?发生某些事件,例如按下按钮?
-
类似的东西......我的问题是,ajax 请求是发生的第一件事,因此我必须在这个回调中添加剩余的应用程序逻辑[取决于数据]这一切都很快变得一团糟。
标签: javascript ajax jquery