ajax怎么将异步请求改为同步

青灯夜游
Freigeben: 2022-01-17 16:28:32
Original
6120 人浏览过

AJAX中根据async值的不同可分为同步和异步,默认情况下async值是true(异步提交);而想将异步改为同步,只需要将async的值设置为false即可。

ajax怎么将异步请求改为同步

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

AJAX中根据async的值不同分为同步(async = false)和异步(async = true)

默认情况下async是true(异步提交)。

如果想同步 async设置为false就可以。

示例:

使用AJAX时,偶尔会遇上需要从一个接口中得到一个数组和数据对应的id,在另一个接口上再得到数据,最初写法如下:

$.get(url_1, function (data) {
        var dom = [];
        for (var i = 0; i < data.length; i++) {
            var item = data[i];
            
            //两个url不一致,根据id查找另一个表
            $.get(url_2, function (data) {
                var item_result = data;
                dom.push("
item_result.id
"); }); } $("#id").empty().append(dom.join('')); });
Nach dem Login kopieren

但是此时经常会出现数组清空后并没有写入数据的问题,初学时常误以为时接口错误的问题,其实不然

这是由于$get()等Ajax方法在调用接口时需要时间,导致push还未完成已经发生了append的行为,即此时数组清空,但是dom数组中此时并没有join读取的数据

故此处需要将循环中的Ajax修改为同步,代码修改如下:

$.get(url_1, function (data) {
        var dom = [];
        for (var i = 0; i < data.length; i++) {
            var item = data[i];
            
            //在第二次的Ajax前将异步改同步
            $.ajaxSettings.async = false;

            //两个url不一致,根据id查找另一个表
            $.get(url_2, function (data) {
                var item_result = data;
                dom.push("
item_result.id
"); }); //注意在ajax中的push完成后,将其改回异步 $.ajaxSettings.async = true; } $("#id").empty().append(dom.join('')); });
Nach dem Login kopieren

【相关教程推荐:AJAX视频教程

以上是ajax怎么将异步请求改为同步的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!