当前位置: 首页 > 面试题库 >

如何处理AngularJS中的$ resource服务错误

柳飞飙
2023-03-14
问题内容

我正在向我的API发出请求,并且正在使用AngularJS $ resource模块。它与$ http不同,因此我不知道如何处理错误。

我的服务:

var appServices = angular.module('app.services', ['ngResource']);
appServices.factory('Category', ['$resource',
    function($resource){
        return $resource('/apicategoryerr/?format=:format', {}, {
            query: {
                method: 'GET', 
                params: { format: 'json'}, 
                isArray: true,

            }
        });
    }]);

我的控制器:

...
Category.query(function(data) {
                console.log(data);
            });
...

我想要类似这样的东西..如果我的API无法正常工作,我不知道如何处理错误。

Category.query().success(function() {
                console.log('success');
            }).error(function() {
                console.log('error');
            });

问题答案:

您可以将错误处理程序作为第二个参数传递给query

Category.query(function(data) {}, function() {});

编辑:

为了使事情更清楚一些,例如:

var Resource = $resource('/restapi/resource');

Resource.query(function(data) {
    // success handler
}, function(error) {
    // error handler
});

Resource.query({
    'query': 'thequery'
},function(data) {
    // success handler
}, function(error) {
    // error handler
});

Resource.query().$promise.then(function(data) {
    // success handler
}, function(error) {
    // error handler
});

Resource.query({
    'query': 'thequery'
}).$promise.then(function(data) {
    // success handler
}, function(error) {
    // error handler
});


 类似资料:
  • 本文向大家介绍深入理解Angularjs中的$resource服务,包括了深入理解Angularjs中的$resource服务的使用技巧和注意事项,需要的朋友参考一下 一、$resource服务介绍 $http服务提供的实现极为简单和低级,可以用来发送XHR请求,同时它还为你提供了很大的可控性和灵活性。但是,在大多数情况下,我们需要处理对象,以及封装了特定属性和方法的对象模型,例如一个person

  • 问题内容: 我的公司拥有数千个现有的xml Web服务,并开始为新项目采用AngularJs。 http://angularjs.org/上的教程专门使用json服务。看起来他们在控制器中进行了服务调用,解析了生成的JSON,并将生成的对象直接传递给视图。 我该如何处理XML?我看到四个选项: 解析它,然后将DOM对象直接传递到UI(view)。 在服务器端围绕我的XML服务放置一个JSON包装器

  • 问题内容: 我正在尝试开始为我的角度应用程序编写单元测试,并且由于无法确定如何以一种可测试的方式模拟服务而非常快地遇到了一个障碍。 有没有一种方法可以模拟REST调用,否则好像我需要在测试中镜像服务中的所有内容,这对我来说似乎不对,但是我对测试写作相当陌生,所以也许应该这样有待完成。任何帮助将不胜感激。 我的服务如下: 到目前为止,我的测试包括: 问题答案: 您可以像这样模拟ngResource发

  • 问题内容: 我试图显示一个包含大量元素的表。我想对表进行分页并仅加载当前页面上显示的元素。现在,json加载了。 我在这里读到,最好在json标头中传递分页信息(currentPage,pagesCount和elementsCount)。 我如何从angular访问json头中的那些信息? 这是基本的js结构: 问题答案: 根据AngularJS $ resource文档,应该可以这样做:

  • 问题内容: 有没有办法判断一个请求是否为Angular(1.1.5)$ resource请求。我几乎在寻找这种请求的“ Request.IsAjaxRequest()”方法。 我正在寻找这,就像重写的AuthorizeAttribute的HandleUnauthorizedRequest中一样,如果需要Ajax或angular请求,则需要将上下文结果设置为某些json;否则,需要将上下文结果设置为

  • 我的代码有问题。如何处理从服务到GSP的错误?我使用render from service或controller进行了尝试,但类似于[值为[{2}]的类[{1}]的属性[{0}]不是有效的电子邮件地址],并得到错误500:带有完整异常跟踪的内部服务器错误。我的消息来源: UserController.groovy