我有以下简单代码:
$http(request)
.success(function(data){
...
})
.error(function(data){
...
});
我遇到的一个问题是,当响应导致错误时,我在 JSON 响应中返回了一个错误,我可以通过 data.error 看到它,但是我目前的工作方式 data.error 实际上是成功,而不是错误。
处理此问题的最佳方法是什么?会不会很简单:
if (data.error){ ....
最佳答案
根据Angular docs :
A response status code between 200 and 299 is considered a success status and will result in the success callback being called. Note that if the response is a redirect, XMLHttpRequest will transparently follow it, meaning that the error callback will not be called for such responses.
因此,如果您在 JSON 中返回 data.error
,但返回的响应带有 HTTP 状态代码 200,则您的 .error
处理程序不会接到电话。
然后回答您的问题,是的 - 执行类似 if (data.error) {... }
的操作应该可以解决问题。
关于javascript - $http 请求成功但出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36040477/