从PHP运行返回错误.AJAX?

Boj*_*les 35 php ajax return

如果PHP脚本在某处失败,有没有办法让PHP返回AJAX错误代码?我正在关注一个教程并将其输入到我的PHP中:

$return['error'] = true;
$return['msg'] = "Could not connect to DB";

一切都很好,直到我意识到它是JSON数据.有没有办法使用标准的$ _POST返回错误并返回HTML数据(如,触发jQuery的AJAX error:事件?

Lin*_*een 90

我不了解jQuery,但如果它区分成功和不成功(HTTP 200 OK与HTTP!= 200)Ajax请求,您可能希望PHP脚本使用不等于200的HTTP代码进行响应:

if ($everything_is_ok)
    {
        header('Content-Type: application/json');
        print json_encode($result);
    }
else
    {
        header('HTTP/1.1 500 Internal Server Booboo');
        header('Content-Type: application/json; charset=UTF-8');
        die(json_encode(array('message' => 'ERROR', 'code' => 1337)));
    }
Run Code Online (Sandbox Code Playgroud)

  • 谢谢:-)看起来很简单!还有,"Booboo"官方,还是它可以是什么? (24认同)
  • 呵呵.它可以是任何东西.但是,"官方"术语是"内部服务器错误". (10认同)
  • @Bojangles评论世纪lol ^ _ ^无法阻止自己发表评论.:p (9认同)
  • @LinusKleen不,我在想`Booboo`应该是标准.无论是那个还是`​​Foofd` (4认同)