Tôi có mã đơn giản:
$http.get("/api/test")
.success(function (data, status, headers, config) {
console.log(data);
return data;
}).error(function (data, status, headers, config) {
alert("error");
return status;
});
Nó hoạt động tốt, nhưng hàm lỗi không bao giờ được gọi là, ngay cả khi tôi trả lại 404 (Not Found) từ máy chủ .. Trong trường hợp đó, hàm này gọi hàm 'thành công' với trạng thái = 404 ...
Điều đó có đúng không?
Cảm ơn
Fiddler:
Request
GET http://localhost:41234/api/test HTTP/1.1
Host: localhost:41234
Connection: keep-alive
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
Referer: http://localhost:41234/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: ASP.NET_SessionId=bd1b3rib5j4beub0xbuhb1hm; FormsAuthentication=xxxxx
Response
HTTP/1.1 404 Not Found
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?RDpcUGVzc29hxvY2FyLkFwaVxhcGcg==?=
X-Powered-By: ASP.NET
Content-Length: 0
Điều này là không chính xác. Angularjs không quan tâm đến độ dài của nội dung. – AgDude
Câu trả lời này không nên được đánh dấu là đúng, nó thực sự sai như AgDude đã đề cập. Đối với tôi câu trả lời đúng là câu trả lời từ @wilver (xem bên dưới)! – Nabi