【问题标题】:Why ajax call give error of Synchronous XMLHttpRequest on the main thread is deprecated?为什么 ajax 调用在主线程上给出同步 XMLHttpRequest 错误已被弃用?
【发布时间】:2015-09-29 06:36:15
【问题描述】:

我在 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");
            }
        });

引导方法是:

var createAndShow = function (ElementId, Title, Markup) {
        debugger;

      //Here some markup is creating and append to body

        $("body").append(Markup); //Here error come

【问题讨论】:

  • Why ajax call give error of Synchronous XMLHttpRequest on the main thread is deprecated? - 因为同步 XMLHttpRequest 在每个现代浏览器中都被弃用了
  • 您的其他错误$document is not defined - 因为您发布的代码在任何地方都没有引用 $document,那么我会说错误出现在您尚未发布的代码中
  • Jaomanda 你是对的。准备好的文件丢失了。
  • async: false 永远不应该被使用。删除它,你的错误就会消失。

标签: javascript jquery ajax multithreading twitter-bootstrap


【解决方案1】:

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

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

async: false,

这已被弃用。如果适用,请将其更改为 true。然而,在极少数情况下,同步 ajax 调用可能有用。

【讨论】:

    猜你喜欢
    • 2015-12-20
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多