[英]Send PHP errors through JSON
我正在尝试调试一个页面,该页面通过ajax发送带有附件的电子邮件,并且当PHP踢出错误时,我收到“解析错误”,因为该错误未通过JSON发送回去。 无论如何,有没有要解决的PHP错误,以便我可以提醒他们并确切地看到即将发生的PHP错误?
我希望在js警报中看到的内容与如果未使用Ajax提交此表单时看到的内容相同。
使用HTTP状态代码。 简单干净。
在客户端:您可以使用常见JavaScript框架的成功和失败回调来处理HTTP状态。
在服务器端:使用异常并使用catch
块处理它们。 在catch
块中,设置HTTP状态代码并回显异常消息。 或者使用花哨的set_error_handler()
函数并在回调函数中设置状态代码和错误消息。
function json_error($msg) {
header('HTTP/1.1 500 ' . $msg);
die(json_encode(array('error' => $msg)));
}
json_error('something bad happened');
这将触发error:
JS端的ajax回调。
echo json_encode(array('anything' => 'really', 'any key' => 'any value'));
将触发success:
回调。
致命错误通常无法处理*。
尝试改进您的代码,只是不要进行解析错误或其他致命错误。 处理警告和通知很容易: http : //php.net/manual/en/function.set-error-handler.php
*:有可能,但是需要很多努力。
您将使用异常处理,请看这里: http : //www.php.net/manual/en/language.exceptions.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.