1

是否有任何巧妙的方法来处理数据对象中返回的 php 错误。目前我偶尔会得到类似的东西:

<br />
<font size='1'><table class='xdebug-error'
.....

这通常后面是我期待的 json 对象。有没有系统的方法来查找这些错误?我正在使用的一个示例调用可能是:

function getMyCharities(callback) {
$.post("my_file.php", function(data) {
    callback(data);
});
}

在我发现的 jquery 文档中:

 .done(function() { alert("second success"); }) 
.fail(function() { alert("error"); })
.always(function() { alert("finished"); });

但这些不处理这种类型的错误,因为我已经测试过了。如果可能的话,我也不想构建错误解析器。

谢谢

4

2 回答 2

3

处理这些错误的正确方法是在 PHP 中关闭错误报告。您不应该为生产站点打开错误报告。

关闭错误报告后,所有 PHP 错误都将返回一个服务器错误,然后您的promise 对象的回调HTTP 500将捕获该错误。fail$.post

于 2013-04-24T23:48:03.593 回答
0

我认为这些成功/失败方法与对服务器的 ajax 调用有关。在您的情况下,服务器正在返回具有正确 http 状态的数据。您需要在成功回调时直接解析“数据”对象,以检查失败迹象(基于 json 标志 ({isFailure: 1}) 或最坏情况,基于字符串)。如果没有,您将需要服务器以某种方式失败,因此当进行 ajax 调用时,调用将失败,您可以在页面上的“失败”回调中处理此问题。

于 2013-04-24T23:52:18.543 回答