我是jQuery新手,遇到以下问题。这是我拥有的点击处理程序。问题是,单击方法完成后,将执行ajax调用成功块中的代码。
非常感谢您的指导,以指导我解决此问题。非常感谢。
$('#back').click(function(e) {
var isSelected = false;
var bf = {};
isSelected = confirm("Do you want to ?");
if (isSelected == true) {
self.delegate.getRf(id, id2).success(function(data) {
bf = data;
}).error(function(data) {
});
}
//other code that is to be executed
});
答案 0 :(得分:0)
这是非常常见的问题。如果我们期望ajax请求完成后应该做些事情。将其放在ajax成功方法中或使ajax请求异步。 或者您可以使用延迟承诺。
异步请求示例,
$('#back').click(function(e) {
var isSelected = false;
var bf = {};
isSelected = confirm("Do you want to ?");
if (isSelected == true) {
$.ajax({
type: "POST",
async:false,
url: "/pages/test/",
success: function(result) {
bf = data;// now our bf is available inside a function
},
error: function(result) {
alert('error');
}
});
//do whatever you want to do with bf.
}
有关延期承诺的信息,请访问this