为什么ajax调用给出同步XMLHttpRequest在主线程上的错误是不赞成的

Why ajax call give error of Synchronous XMLHttpRequest on the main thread is deprecated?

本文关键字:线程 错误 不赞成 调用 ajax XMLHttpRequest 同步 为什么      更新时间:2023-09-26

我正在做ASP.net MVC5的作业。当我做ajax调用它成功地去到动作方法(调试)。但在那之后,当我做标记的东西,它和附加到主体它给jquery min.js的错误和控制台的错误是:主线程上的同步XMLHttpRequest是不赞成的,因为它对最终用户的体验有不利影响。jquery-1.11.0.min.js:4 Uncaught ReferenceError: $document is not defined

我的代码如下:

$.ajax({
            url: url,
            type: "GET",
            contentType: "application/json; charset=utf-8",
            cache: false,
            async: false,
            success: function (data, status) {
                if (status && data) {
                    var Markup = data;
                    var Title = Id && Id != null ? "edit" : "New";
                    $AddEdit = BootstrapModal.createAndShow("modal", Title, Markup); // this is another method in JS
                }
            },
            error: function () {
                alert("not workig");
            }
        });

Bootstrap方法为:

var createAndShow = function (ElementId, Title, Markup) {
        debugger;
      //Here some markup is creating and append to body
        $("body").append(Markup); //Here error come

您面临的错误:主线程上的同步XMLHttpRequest被弃用,因为它对最终用户的体验有不利影响。获取更多帮助http://xhr.spec.whatwg.org/"

说明了一切。您正在使用一个同步Ajax调用,通过在这一行显式地设置它:

async: false,

不推荐使用。如果适用,将其更改为true。但是,在非常罕见的情况下,同步ajax调用可能是有用的。