如何在xmlhttp.status!= 200时抑制javascript错误

时间:2013-03-15 02:31:17

标签: javascript xmlhttprequest

在我的Google Chrome控制台中,当xmlhttp状态未导致200时,我一直收到错误。例如,在某些情况下,我故意将我的PHP文件的标题设置为500,因此在javascript中我可以显示错误并避免任何操作那需要PHP文件。由于我有自己的错误处理程序,无论如何都要抑制默认错误?

错误示例:

POST http://localhost/mama/cgi-bin/pages/Module-Install.php 500 (Internal server error) 

2 个答案:

答案 0 :(得分:2)

在处理错误时,似乎没有办法在Google Chrome中抑制这些警告。对于那些正在寻找替代解决方案的人,将错误代码嵌入到json对象中,并解析json对象客户端是否存在任何错误。

答案 1 :(得分:0)

此错误由服务器端发出,而不是浏览器,而不是js。你不能只是从控制台“隐藏”它。您可以在onerror事件中处理它:

request.onerror = function (e) {
   // do something to fix the results of server error...
};

换句话说,这是一个服务器错误,它可能会破坏您的代码执行,但如果您在xmlHttp类可能出现异常后再做几个步骤来恢复作业,那么代码就可以了。

<强> UPD:

如果你是纯粹的完美主义者,并且你关心完美无瑕的环境:

服务器端中,您必须实现服务器应答,而不会触发除200以外的任何状态。这不是一项超级难的工作。 对于ASP:Suppressing HTTP 500 response codes; 对于PHP:http://php.net/manual/en/function.http-response-code.php