Ajax jqXHR.status==0 修复错误

问题描述 投票:0回答:3
 $.ajax({
         url: urlString,
         dataType: "json",
         type: "GET",
         success: function (data) {
             alert(data);
         },
         error: function (jqXHR, exception) {
             if (jqXHR.status === 0) {
                 alert('Not connect.\n Verify Network.');
             } else if (jqXHR.status == 404) {
                 alert('Requested page not found. [404]');
             } else if (jqXHR.status == 500) {
                 alert('Internal Server Error [500].');
             } else if (exception === 'parsererror') {
                 alert('Requested JSON parse failed.');
             } else if (exception === 'timeout') {
                 alert('Time out error.');
             } else if (exception === 'abort') {
                 alert('Ajax request aborted.');
             } else {
                 alert('Uncaught Error.\n' + jqXHR.responseText);
             }

         }
     });

这是我的 JavaScript 文件,我用它来从服务器访问一些信息。 urlString 已提供且正确。我所做的是从我正在检索的服务器下载 .json,并在我的计算机上本地访问它。当我从服务器访问文件时,我不断收到 jqXHR.status==0 错误。我不知道如何解决这个问题,因为我看不出我的代码有什么问题。

有人可以指出我正确的方向来解决我的错误吗?

javascript ajax json
3个回答
2
投票

您获得不同状态代码的原因是文件不是使用

http:
协议而是使用
file:
协议获取的。不同的协议有不同的状态码是很自然的。

您只需要根据获取文件的位置采取不同的行为即可。

有一个关于此的 Mozilla 错误报告,该报告被标记为无效,因为这被认为是正确的结果。


1
投票

JQXHR 状态:0

原因:调用Ajax函数时请求没有取消。

解决方案:只需在调用函数后添加

return false;
即可,即
OnClientClick="AJAXMethod(); return false;"


0
投票

在我的例子中,Chrome 的“网络限制”设置为“离线”。

我已通过转到“Ctrl+Shift+I”>“网络”选项卡 > 单击“更多网络条件...”图标 > 选择“网络限制”为“无限制”来消除此错误。

© www.soinside.com 2019 - 2024. All rights reserved.