如果在angularJS中Api服务状态== 404,则记录消息

时间:2016-03-12 22:34:17

标签: 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'
    })
  }
 };
}

并在我的控制器中:

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,如果值为空。

我如何确认此状态,并在我的视图中返回?

Thks:)

1 个答案:

答案 0 :(得分:0)

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

这类似于文档中的an example on $http;你需要为你的承诺提供另一种方法来弥补错误条件。

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对象中提供确定为什么状态错误所需的任何信息。