Javascript 为什么Angular中的jsonp总是返回404错误作为状态?
当服务器返回各种错误(如400、403等)时,我总是从jsonp调用结果中得到404(我的意思是在错误分支中)。。。这是故意的行为吗?如何像浏览器控制台那样获取真正的错误代码?也就是说,400对400,500对500,并不总是404 这是我的代码(请用您想要测试的链接替换您的链接):Javascript 为什么Angular中的jsonp总是返回404错误作为状态?,javascript,angularjs,Javascript,Angularjs,当服务器返回各种错误(如400、403等)时,我总是从jsonp调用结果中得到404(我的意思是在错误分支中)。。。这是故意的行为吗?如何像浏览器控制台那样获取真正的错误代码?也就是说,400对400,500对500,并不总是404 这是我的代码(请用您想要测试的链接替换您的链接): Boxkeeply angular.module('angularApp',[]) .controller('MainCtrl',函数($scope,$rootScope,$http){ var JsonURI=
Boxkeeply
angular.module('angularApp',[])
.controller('MainCtrl',函数($scope,$rootScope,$http){
var JsonURI=“您的链接在这里?callback=JSON\u callback”;
$http.jsonp(JsonURI)。
成功(函数(数据、状态、标题、配置){
if(data.httpResponse.statusCode==200){
警报(“成功!”)
}
否则{
}
}).
错误(函数(数据、状态、标题、配置){
警报(“错误代码:+状态”)
});
});
非常感谢你 这很简单,403500个错误无法满足请求,所以您无法获取状态代码。检查此文档中的协议错误
它工作正常:嗯,不,它不。。。我知道成功分支工作得很好,但正是错误分支带来了问题谢谢!因此,没有任何javascript方法可以像浏览器那样知道确切的错误代码?这是正确的,对于这些错误,您将获得状态:0
<!DOCTYPE html>
<html ng-app="angularApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Boxkeeply</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js"></script>
<script type="text/javascript">
angular.module('angularApp', [])
.controller('MainCtrl', function($scope, $rootScope, $http) {
var JsonURI = "YOUR_LINK_HERE?callback=JSON_CALLBACK";
$http.jsonp(JsonURI).
success(function(data, status, headers, config) {
if(data.httpResponse.statusCode==200){
alert("success!")
}
else{
}
}).
error(function(data, status, headers, config) {
alert("error code: "+status)
});
});
</script>
</head>
<body ng-controller="MainCtrl">
</body>
</html>