Javascript 为什么Angular中的jsonp总是返回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=

当服务器返回各种错误(如400、403等)时,我总是从jsonp调用结果中得到404(我的意思是在错误分支中)。。。这是故意的行为吗?如何像浏览器控制台那样获取真正的错误代码?也就是说,400对400,500对500,并不总是404

这是我的代码(请用您想要测试的链接替换您的链接):


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>