【问题标题】:jQuery.ajax() error with textStatus=error带有 textStatus=error 的 jQuery.ajax() 错误
【发布时间】:2015-07-08 18:59:40
【问题描述】:

我使用的jQuery.ajax() 函数大部分时间都能正常工作。但是有时它不返回任何数据。而是调用 error() 函数。

$.ajax({

  [...]

  , error: function(jqXHR, textStatus, errorThrown) {
    console.log(jqXHR);
    console.log(textStatus);
    console.log(errorThrown);
  }
});

我可以看到在这些情况下textStatus'error'errorThrown''(空)。

jQuery documentation 仅列出了textStatus 的可能值("timeout""error""abort""parsererror")。但是它没有描述'error' 的含义。

jqXHR 返回一个对象,但它不会显示任何额外的见解。

如何调查此问题的根源是什么?

【问题讨论】:

  • 如果你这样做console.log(jqXHR.status)会得到什么?
  • 这也是空的。

标签: javascript jquery ajax xmlhttprequest


【解决方案1】:

正如 KidA 在评论中所说,试试这个:

console.log(jqXHR.status);

此外,只需确保您从正确的目的地(url、listname 等)拉取数据以及正确的数据类型拉取(POST、GET、UPDATE、DELETE 等)

【讨论】:

    【解决方案2】:

    我建议你使用 fiddler 来监控请求并分析你得到的响应。

    要尝试的另一件事是在 fiddler composer 中编写您的 ajax 请求。这样您就可以确定您是否传递了所有必需的标头。

    您将在 fiddler 中找到更多详细信息。

    【讨论】:

      【解决方案3】:

      发现,每当在浏览器中按下 Reload,而 ajax 请求仍在运行时,就会发生这种情况。

      This post 帮助我实施了解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-17
        • 2015-05-12
        • 2014-11-12
        • 2012-07-28
        • 1970-01-01
        • 2011-07-18
        • 2011-10-02
        • 2023-03-07
        相关资源
        最近更新 更多