javascript - 如果 AngularJS 中的 Api 服务状态 == 404,则记录消息

标签 javascript angularjs api angularjs-service angularjs-controller

我的 service.js 中有此代码

function myService($http, $log) {

 var API = 'https://myapi.net/api/api.php?';
 $log.debug(API);

 return {

  getApi: function(inputValue, inputValue2) {
    return $http({
      url:API + inputValue + '=' + inputValue2,
      method:'GET'
    })
  }
 };
}

在我的 Controller 中:

vm.searchNetflix = function() {
  netflixService.getApi(vm.searchResult, vm.searchResult2).then(function(result){
    vm.ResultSearch = result.data;
    $log.log('result' + result);
  });
};

这2个值“SearchResult和SearchResults”我在输入中调用,并更改api url,

示例: https://myapi.net/api/api.php?mySearchResult=mySearchResult2

当我输入一个值时,它会返回正确的内容, 如果我输入无效的内容,则返回 404,如果某个值为空,则返回 400。

我如何才能验证此状态并返回到我的 View 中?

谢谢:)

最佳答案

将信息转发回您的 View 很大程度上取决于您的 View 的构造方式,但原则是确保您正确捕获错误条件。

这类似于 an example on $http在文档中;您需要为您的 promise 提供另一种方法来覆盖错误条件。

vm.searchNetflix = function() {
  netflixService.getApi(vm.searchResult, vm.searchResult2)
    .then(function(result) {
      vm.ResultSearch = result.data;
      $log.log('result' + result);
    }, function(errorResult) {
      // extract information from the errorResult here
    });
};

理想情况下,确定状态错误的原因所需的任何信息都应在 errorResult 对象中提供。

关于javascript - 如果 AngularJS 中的 Api 服务状态 == 404,则记录消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964144/

相关文章:

javascript - vanilla javascript 中的 Each() 问题

html - 如何使用 angular-scrollable-table 更改列的宽度

javascript - 从 ui-bootstrap 覆盖一个函数

python - 跳过循环中的错误-JSONDecodeError : Expecting value: line 1 column 1 (char 0)

javascript - 从表中查询值

javascript - 如何为 Notification.requestPermission() 函数选择正确的回调?

javascript - Chrome - 通过 frameId(不是 id 属性)查找 iframe

javascript - 在 Angular Js 中动态设置范围对象的属性

database - OAuth2 服务器的范围值是什么?

javascript - 网站的 API 未定义