PHP在不使用数组的情况下触发AJAX错误代码

我希望能够获得一个通过AJAX调用的PHP脚本返回错误代码,jQuery AJAX处理程序error:将处理。 我不想使用JSON数组 – 我希望尽可能保持干净。 有人能指出我正确的方向吗?

谢谢,

詹姆士

如果你想触发AJAXerror handling程序,只需传回200以外的东西! 试试这个:

  

只记得做两件事:

  1. 尝试发送正确的错误代码以符合HTTP方法。 即如果您的页面抛出错误,那么您应该返回500等。您可以在w3.org网站上看到此处的引用。
  2. 确保在除空格之外的任何其他内容之前发送标题。

这应该是您想要的清洁解决方案。

试试这个:

 header("HTTP/1.0 404 Not Found"); exit(); 

Ajax传输不一定是JSON。 它可以是xml,json,script或html。 默认情况下,AJAX使用XML(AJAX中的X代表它)。 我看到你正在使用jQuery。 如果您使用的是ajax方法 ,则可以使用您可以修改的dataType参数。

正如你所说的那样,JSON在我看来是最干净的 ,但如果你的意思很简单,你可以使用文本代替。

编辑:jQuery’ajax’statusCode’方法工作,但只在jQuery 1.5

我已经尝试了jquery的ajax的’ statusCode ‘方法,现在可以使用jquery 1.5, 但没有得到任何结果……但它应该是要走的路……

如果我的PHP脚本执行此操作:

  //localhost/dev/false.php header("HTTP/1.0 404 Not Found"); exit(); 

我的javascript做到了:

 $.ajax({ url:'http://localhost/dev/false.php', statusCode: { 404: function() { alert('page not found'); } } });