Ajax中的async:false/true的作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_42969074/article/details/84646233

Ajax中的async用于控制(false)同步和(true)异步,默认的是true,即请求默认的是异步请求

      $.ajax({
                type: "POST",
                url: "/users/sessions",
                //async
                async: false,
                dataType: "json",
                contentType: "application/json;charset=UTF-8",
                data: jsonData,
                success: function (result) {
                    if (result.resultCode == 200) {
                        event.preventDefault();
                        location.href = "home.do";
                    } else {
                        event.preventDefault();
                        $('#errorInfo').html(result.message);
                    }
                }
            });

一、async值为true (异步)

当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候请求users/sessions的请求还没有执行完,可能就执行了后面的操作,那么后面就可能出现空值的情况。

二、async值为false (同步)

当执行当前AJAX的时候会停止执行后面的JS代码,直到AJAX执行完毕后时,才能继续执行后面的JS代码。

false为同步,上面的Ajax请求会将将整个浏览器锁死,只有/users/sessions执行结束后,才可以执行后面其它操作。

猜你喜欢

转载自blog.csdn.net/qq_42969074/article/details/84646233