首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ajax异步&同步请求

Ajax异步&同步请求

作者头像
山河木马
发布2019-03-05 16:52:45
3K0
发布2019-03-05 16:52:45
举报
文章被收录于专栏:山河木马山河木马

一、简介

Ajax请求最重要的问题是代码执行的顺序。最长遇到的问题是,我们定义一个变量接收ajax异步请求的返回结果,后续代码使用,然而后续代码在使用时该变量为初始值,始终得不到想要的结果!!!

二、示例

// 异步  
var  email = "test@ptmind.com";  
console.log(1);  
jQuery.ajax({  
    url: "/invite/sendEmailAjax.pt",  
    type: "post",  
    dataType: "text",  
    async: true,  
    data: "inviteEmails="+email,  
    success: function(data){  
        console.log(2);  
    }  
});  
console.log(3);  
// 结果:1->3->2  
// 同步  
var  email = "test@ptmind.com";  
console.log(1);  
jQuery.ajax({  
    url: "/invite/sendEmailAjax.pt",  
    type: "post",  
    dataType: "text",  
    async: false,  
    data: "inviteEmails="+email,  
    success: function(data){  
        console.log(2);  
    }  
});  
console.log(3);  
// 结果:1->2->3  

三、官方解释

By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false.Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. sync默认是true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法。若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。http://api.jquery.com/jQuery.ajax/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/03/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简介
  • 二、示例
  • 三、官方解释
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档