0
我有这样的代码:
$http
.post('/api/login', $scope.user)
.success(function (data, status, headers, config) {
// code
})
.error(function (data, status, headers, config) {
// code
});
它的工作原理,但即使服务器返回一个异常(状态500)或错误的请求(400)或未经授权的请求(401)它仍然调用成功处理程序。
这是来自服务器的示例响应(我的服务器的ASP.NET Web API 2):
HTTP/1.1 400 Bad Request
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcRG9jdW1lbnRzXFRpbWVUYWJsZVxqYW4tMjAxNFwxMVxUaW1lVGFibGVcVGltZVRhYmxlXGFwaVxsb2dpbg==?=
X-Powered-By: ASP.NET
Date: Sun, 23 Feb 2014 10:56:09 GMT
Content-Length: 0
这可能是一个愚蠢的答案,但是......试着只在'.success'中留下'data'。 – xmarston
看起来很奇怪,我发现你的代码没有问题,它几乎是一个copy'n'paste fra http://docs.angularjs.org/api/ng/service/$http。您是否尝试过使用其他网址? –
这是从他们的网站复制/粘贴。我不知道什么是错的,我的应用程序中的每个网址的行为都是相似的。有人说它与内容长度0有关,可能是真的吗? @RickiRunge –