繁体   English   中英

通过JSON发送PHP错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM