一尘不染

Ajax jqXHR.status == 0修复错误

ajax

 $.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错误。我不确定如何解决此问题,因为我的代码看不到任何错误。

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


阅读 340

收藏
2020-07-26

共1个答案

一尘不染

您获得不同状态代码的原因是该文件不是通过http:协议获取的,而是通过file:协议获取的。不同的协议具有不同的状态代码是很自然的。

您仅需要根据从何处获取文件而具有不同的行为。

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

2020-07-26