最后成功执行成功块

时间:2018-10-03 08:13:36

标签: jquery ajax

我是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
});

1 个答案:

答案 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