从 PHP 运行方式返回错误。阿贾克斯?
有没有办法让 PHP 在 PHP 脚本的某个地方失败时返回 AJAX 错误代码?我正在学习一个教程,并将其键入到我的PHP中:
$return['error'] = true; $return['msg'] = "Could not connect to DB";
一切都很好,直到我意识到这是JSON数据。有没有办法使用标准的 $_POST 和返回的 HTML 数据(如,触发 jQuery 的 AJAX 事件)返回错误?error:
有没有办法让 PHP 在 PHP 脚本的某个地方失败时返回 AJAX 错误代码?我正在学习一个教程,并将其键入到我的PHP中:
$return['error'] = true; $return['msg'] = "Could not connect to DB";
一切都很好,直到我意识到这是JSON数据。有没有办法使用标准的 $_POST 和返回的 HTML 数据(如,触发 jQuery 的 AJAX 事件)返回错误?error:
我不知道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)));
}
$return = array();
$return['msg'] = "Could not connect to DB";
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
{
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
die(json_encode($return));
}