2012-09-07 76 views
0

我们有一个PHP服务,我们抛出一个自定义的Exception对象(只是有一个消息属性)。这些都陷入了PHP,然后我们做了以下内容:PHP REST服务抛出异常 - 要避免控制台错误

header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400); 

这会导致两件事情:

1)控制台错误,如果他们的控制台是高达

2)错误()回调.fail()在被调用的延迟对象上。

我们想要2没有副作用1.如果我们将错误代码设置为200,则只调用success()和then()。

我们可以使用什么中间地带?

+0

你用jQuery来做这个吗? – Stefan

+0

是的。 Wer'e使用jQuery ajax(),Deferreds()和Backbone.sync的合作 – bobber205

+0

刚刚更新了我的答案:)独立于JS库:) – Stefan

回答

0

更正,我的第一个答案是bullcrap。

if(!window.console) console = {log: function() {}}; 

这是要走的路。在调用$.ajax之前使用它(或者,您执行ajax请求)。

+0

希望可能有不同的方法,但这将一如既往。^_ ^谢谢! :D – bobber205

+0

据我所知,没有。你可以试着编写一个总是返回HTTP:200的包装器,并添加一些用于错误处理的JSON字段。不要犹豫,以标记我的答案;) – Stefan