jQuery.ajax()出现textStatus=error错误

6

我使用的 jQuery.ajax() 函数大多数情况下都能正常工作。但有时它不会返回任何数据,而是调用了 error() 函数。

$.ajax({

  [...]

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

我在这里看到,在这些情况下 textStatus 'error',而 errorThrown 则为空。

jQuery文档只列出了 textStatus 的可能值("timeout""error""abort""parsererror")。但它并没有描述'error'的含义。

jqXHR 返回一个对象,但似乎没有提供任何额外的见解。

我如何调查这个问题的来源?


1
如果你执行 console.log(jqXHR.status),会得到什么? - kidA
这也是空的。 - JochenJung
3个回答

4

我发现每当浏览器中的重新加载按钮被按下,而ajax请求仍在运行时,就会发生这种情况。

这篇文章帮助我实现了一个解决方案。


0

正如KidA在评论中所说,请尝试这样做:

console.log(jqXHR.status);

此外,请确保从正确的目标(网址、列表名称等)以及适当的数据类型(POST、GET、UPDATE、DELETE等)进行提取。

0
我建议您使用Fiddler来监视请求并分析响应内容。
另一个尝试的方法是在Fiddler Composer中组合您的Ajax请求。这样,您可以确定是否传递了所有必需的标头。
您将在Fiddler中找到更多详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接