javascript - js中已经使用关闭了ajax的异步请求,为什么还是异步
高洛峰
高洛峰 2017-04-10 16:46:01
[JavaScript讨论组]

在js代码中已经使用async: false,关闭了异步请求,为什么仍然是异步呢。

$.ajax({
                        async: false,
                        url: "http://my.example.com/.......",
                        type: 'GET',
                        dataType: 'JSON',
                        success: function (data, textStatus, jqXHR) {
                            console.log("data.inviteId=>" + data.inviteId);
                            inviteurl_1 = 'http://example.com/.......';
                            console.log("inviteurl_1=>" + inviteurl_1);
                            if (cmd == "weixin") {
                                bdurl = "http://example.com/.......";
                                console.log("bdurl_weixin=>" + bdurl);
                            } else {
                                bdurl = inviteurl_1;
                                console.log("bdurl_noweixin=>" + bdurl);
                            }
                            console.log("bdurl_zuizhong=>" + bdurl);
                        }

                    });
                    console.log("bdurl_quanju=>" + bdurl);
                    config.bdUrl = bdurl;
                    console.log("flag=>111111111111111111111111111");

其中bdurl是一个全局变量,用来执行请求的的域名是www开头,这个是跨域请求。
执行后再控制台打印出来的顺序如下:

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
高洛峰

请参考API

async (默认: true)
类型: Boolean
默认设置下,所有请求均为异步请求(也就是说这是默认设置为 true )。如果需要发送同步请求,请将此选项设置为 false 。跨域请求和 dataType: "jsonp" 请求不支持同步操作。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。从 jQuery 1.8 开始, jqXHR ($.Deferred)中使用  async: false  已经过时。您必须使用的 success/error/complete 的回调选项代替相应的jqXHR对象的方法,比如jqXHR.done() 或者过时的jqXHR.success()
怪我咯

首先想知道题主是怎么理解同步和异步的。大概举个例子吧。

$.ajax({}).always(function(){
 console.log(1);
})
console.log(2);

如果是异步的话那么输出顺序是 2,1
如果是同步的话,那么输出顺序是1,2

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号