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(...) }
});
}