只有在ajax请求完全完成后才执行js函数
Execute a js function only after the ajax request fully compleated
我想只在jquery ajax调用完全完成后执行js函数。(在成功和错误事件完成后)。在ajax调用后将传入的数据放入元素。
如何做到这一点
你应该使用$.ajaxComplete();
$(document).ajaxComplete(function() {
alert("compete");
});
将在每次对页面进行Ajax调用后触发
否则使用ajax()并设置完整的属性
$.ajax({
url: "myurl",
complete: function(){
alert("complete");
}
//set all the other options as usual
您可以使用任何jQuery AJAX方法的回调来延迟另一个函数的执行,直到请求完成。
的例子:
$.post('/some/url', somedata, function() {
// put the code you want to execute on completion here
});
对于更复杂的场景,使用实际的ajax方法,它为成功、完成、错误和其他事件提供钩子。通常,您只需要成功和错误。
$.ajax( '/some/url', {
data: somedata,
type: 'post',
success: function(result) {
// success code execution here
},
error: function(xhr,status,error) {
// error code here
},
complete: function(xhr,status) {
// completion code here
}
});
如果您想为一个特定的调用这样做,那么complete
函数可能就是您需要的。如果您希望这是全局的,对于所有ajax调用,那么Nicola的答案应该是您所需要的。
这是Ajax调用的jQuery文档
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- javascript自执行函数-不同的语法
- JavaScript:只有当数组中的所有项都为true时才执行函数
- iFrame url更改时执行函数
- 为什么AngularJS在每个摘要循环上都执行函数
- 如何使用setInterval执行函数
- 当*ngFor以角度2结束时执行函数
- Ajax调用完成后如何执行函数
- 在显示引导弹出窗口之前执行函数
- 从自执行函数返回函数的Javascript性能命中率
- 在操作完成时执行函数
- jquery/js中的自执行函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- 构造函数函数中的自执行函数的OO上下文/范围
- Javascript未使用=运算符执行函数
- AngularJS:如何按照预定义的顺序执行函数
- 在不使用隔离作用域的情况下执行函数的角度指令
- 如何在页面加载后执行函数是在 AngularJS 中完成的
- 完成页面加载后执行函数
- 如何在完成完全执行函数后触发循环