如何设置ajax为同步

2025-10-04 17:30:12

1、页面引入一个jquery

如何设置ajax为同步

2、在ajax的参数中增加一个async: false参数可以发送同步ajax请求。

$.ajax({

    url: '',

    async: false

});

如何设置ajax为同步

3、选择发送前,执行ajax后,发送成功后3个时间点,来测试输出顺序,证明是同步请求。

console.log(1);

$.ajax({

    url: '',

    async: false,

    success: function() {

        console.log(2);

    }

});

console.log(3);

如何设置ajax为同步

4、现在去掉async: false来对比一下,仍然测试他们的输出顺序。

发现输出顺序没有按代码顺序来,这就是异步。

console.log(1);

$.ajax({

    url: '',

    success: function() {

        console.log(2);

    }

});

console.log(3);

如何设置ajax为同步

5、为什么说异步更加复杂呢?看下面的代码,这段代码的2和3的输出顺序无法确定谁在前面

console.log(1);

$.ajax({

    url: '',

    success: function() {

        console.log(2);

    }

});

$.ajax({

    url: '',

    success: function() {

        console.log(3);

    }

});

console.log(4);

如何设置ajax为同步

如何设置ajax为同步

6、如果再出现嵌套,更加无法预测顺序

console.log(1);

$.ajax({

    url: '',

    success: function() {

        console.log(2);

        $.ajax({

            url: '',

            success: function() {

                console.log(3);

            }

        });

    }

});

$.ajax({

    url: '',

    success: function() {

        console.log(4);

        $.ajax({

            url: '',

            success: function() {

                console.log(5);

            }

        });

    }

});

console.log(6);

如何设置ajax为同步

7、对比同步ajax代码,发现输出顺序完全是代码顺序,更容易理解和编写

如何设置ajax为同步

8、但是同步代码的缺点是,等待ajax请求响应之前,页面会卡住,用户什么都做不了,感受很不好,就像浏览器崩溃或者死机似的。所以同步ajax代码不适合应用到正式产品中。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢