首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只有在ajax请求完全完成之后才能执行js函数

只有在ajax请求完全完成之后才能执行js函数
EN

Stack Overflow用户
提问于 2011-11-26 00:07:50
回答 3查看 15.5K关注 0票数 5

我只想在jquery ajax调用完全完成之后执行一个js函数(在成功和错误事件完成之后)。在ajax调用将传入的数据放入一个元素之后。

如何实现这一点。

EN

回答 3

Stack Overflow用户

发布于 2011-11-26 00:09:50

您应该使用$.ajaxComplete();

代码语言:javascript
运行
复制
$(document).ajaxComplete(function() {
  alert("compete");
});

这将在您在页面上进行的每个Ajax调用之后触发

否则,使用ajax()并设置complete属性

代码语言:javascript
运行
复制
$.ajax({
  url: "myurl",
  complete: function(){
              alert("complete");
            }
  //set all the other options as usual
票数 16
EN

Stack Overflow用户

发布于 2011-11-26 00:10:22

您可以使用对任何jQuery AJAX方法的回调来延迟另一个函数的执行,直到请求完成。

示例:

代码语言:javascript
运行
复制
   $.post('/some/url', somedata, function() {
        // put the code you want to execute on completion here
   });

对于更复杂的场景,使用实际的ajax方法,它为您提供了成功、完成、错误和其他事件的挂钩。通常,您只需要成功和错误。

代码语言:javascript
运行
复制
   $.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
        }
   });
票数 5
EN

Stack Overflow用户

发布于 2011-11-26 00:10:13

如果您想对特定的调用执行此操作,那么complete函数可能就是您所需要的。如果您希望所有ajax调用都是全局的,那么Nicola的答案应该是您需要的。

下面是用于Ajax调用的jQuery documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8271618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档