javascript - 我需要 $http POST 状态代码 400,但得到 200

标签 javascript angularjs

我有这个代码

var body="ok";
var suc=0; var failed=0;
$http({
           url: API.toUrl('api/xxxx/xxxx'),
                method: 'POST',
                data: body
            }).then(function(response) {
                if(response.status==200){
                    suc=suc+1;
                }
                if(response.status==400){
                    failed=failed+1;
                }                        
            });

我的问题是我无法获取 400 状态代码,我只获取 200 而不是 400。如何在我的 response 参数中获取 400 状态代码。

我在 Angular 工作,有什么办法获得 400 吗?

谢谢

最佳答案

400状态代码将作为错误出现,then接受两个函数作为参数,第一个用于正常响应,第二个用于错误,因此您必须捕获 400关于误差函数。

所以如果你想捕获它,你应该这样做:

  var body = "ok";
  var suc = 0;
  var failed = 0;
  $http({
      url: API.toUrl('api/xxxx/xxxx'),
      method: 'POST',
      data: body
  }).then(
      function(response) {
         if (response.status == 200) {
          suc = suc + 1;
         }
      }, 
      function(error) {
          //Catch 400 here
      }
  );

关于javascript - 我需要 $http POST 状态代码 400,但得到 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39312782/

相关文章:

javascript - Canvas : why is this color difference?

javascript - Famo.us ScrollContainer 不滚动

javascript - Js 按钮只能工作一次?

javascript - Angular 1 的初始化代码应该放在哪里?

angularjs - 在本地处理 Angular $http 错误并回退到全局错误处理

javascript - 如何处理 AngularJS 中的错误

javascript - jquery 中 window.resize() 和 window.on ('resize' ) 之间的区别

javascript - 选择上一个下拉菜单时填充下拉菜单

google-app-engine - 如何在 WebApp2 中解析 A​​ngular POST 请求

javascript - AngularJS 选择更改触发器