Javascript jQuery仅在执行前一个函数的ajax时调用函数

Javascript jQuery仅在执行前一个函数的ajax时调用函数,javascript,jquery,callback,Javascript,Jquery,Callback,我有以下问题: $('#id').on('click', '.class', function(){ // it is doing something and // executing AJAX request // with the data from request it is doing something } // this is onclick handler 在后面的代码中,我也需要执行它,在执行之后,我需要运行另一个函数,它依赖于这个onclick处理程序的ajax执行,所

我有以下问题:

$('#id').on('click', '.class', function(){
 // it is doing something and
 // executing AJAX request
 // with the data from request it is doing something
} // this is onclick handler
在后面的代码中,我也需要执行它,在执行之后,我需要运行另一个函数,它依赖于这个
onclick处理程序的ajax执行,所以我正在做类似的事情

$('#id .class').click();
anotherFunction();
它不起作用。这个问题是可以理解的,因为ajax请求尚未完成

我试着用这个想法来实现正确的执行

并使用带有回调的自动执行函数的思想:

(function(o, callback){
    $('#id .class').click()
})(null, anotherFunction() );
两种想法都失败了


是否有任何方法可以在不修改另一个函数(
onclick function
的情况下实现预期的功能?

我不确定是否完全理解您的问题,但是什么阻止您在相应的$.ajax响应方法中执行onsuccess/onerror代码

$.ajax({
  type: 'POST',
  url: "your url",
  data: "your data",
  error: function(jqXHR, textStatus, errorThrown) { ... },
  success: function (data, textStatus, jqXHR) { ... }
});
另外,为什么不将ajax执行部分放到自己的函数中,并从事件处理程序和其他地方调用它,就像这样

function ajaxMe(onerror, onsuccess)
{
    $.ajax({
      type: 'POST',
      url: "your url",
      data: "your data",
      error: function(jqXHR, textStatus, errorThrown) { onerror(...) },
      success: function (data, textStatus, jqXHR) { onsuccess(...) }
    });
}

。click
只是
的简写。on('click'
。请指定-您想在第一个函数处理响应后调用第二个函数吗?嗯……只需调用
中的另一个函数
。完成(函数(o){})
function ajaxMe(onerror, onsuccess)
{
    $.ajax({
      type: 'POST',
      url: "your url",
      data: "your data",
      error: function(jqXHR, textStatus, errorThrown) { onerror(...) },
      success: function (data, textStatus, jqXHR) { onsuccess(...) }
    });
}