$.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错误。我不确定如何解决此问题,因为我的代码看不到任何错误。
有人可以指出正确的方向来纠正我的错误吗?
您获得不同状态代码的原因是该文件不是通过http:协议获取的,而是通过file:协议获取的。不同的协议具有不同的状态代码是很自然的。
http:
file:
您仅需要根据从何处获取文件而具有不同的行为。
有一个有关此的Mozilla错误报告,由于它被认为是正确的结果,因此被标记为无效。