javascript - 使用 $resource 时捕获 AngularJS 中的错误

标签 javascript angularjs error-handling ngresource

当找到产品时,搜索产品工作正常,但如果用户使用字母或错误的标准进行搜索,则不会发生任何情况。我可以在 JavaScript 控制台中看到错误消息,并且 header 中有状态代码 204,没有内容。我认为当空对象返回时,Angular 工作得很糟糕。我如何告诉用户没有符合他/她标准的产品,因为我目前根本无法捕获错误消息。处理这个问题的正确和最佳解决方案是什么?捕获错误或解决结果为空并在 HTML 页面中显示错误消息的问题?

服务:

return $resource(

                    'http://localhost:8080/RMAServer/webresources/com.rako.entity.jdeserials/:id',
                    {},
                    {
                        get: { method: 'GET',isArray:false, params: {id: '@serial'} },
                        update: { method: 'PUT', params: {id: '@serial'} }
                    });

Controller

    //Searching product with serial number/LOTN
                $scope.searchProduct = function () {
                    $scope.serials = lotnSvc.get({id: $scope.serial}).$promise.then(
                        function (data) {
                            var litm = data.litm;

                            productSvc.get({id: litm}, function (product) {
                            $scope.product = product;
                            getBrands();
                        },function(error){
                      alert('ERROR when searching product'); 
                      console.log("error---->" + error);
                    });
                    },function(error){
                      alert('ERROR when searching product'); 
                      console.log("error---->" + error); 
                    });

                };

javaScript 控制台中的错误消息

Error: [$resource:badcfg] Error in resource configuration for action `get`. Expected response to contain an object but got an array
http://errors.angularjs.org/1.3.15/$resource/badcfg?p0=get&p1=object&p2=array
at REGEX_STRING_REGEXP 

header 中的状态代码

Status code in header after GET

最佳答案

只需尝试将成功和错误处理程序作为第二个和第三个参数发送到“get”函数,而不是使用 Promise。也有同样的问题:How to handle $resource service errors in AngularJS

关于javascript - 使用 $resource 时捕获 AngularJS 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30545852/

相关文章:

javascript - 在 AngularJS 中提交后重置表单

javascript - 如何使用 AngularJS 从选择框中获取 ID

php - 使用 JavaScript 或 PHP 从地址返回经度和纬度的基本 API

javascript - javascript escape()函数是否支持UTF8字符

javascript - 如何在 cometd 中处理向 javascript 客户端广播动态列表

c - 使用 longjmp/setjmp 进行 C 错误处理的一些 "good"方法有哪些?

php - 打开/处理 580GB 错误日志文件的建议

Javascript Discord Bot 在输出中提到作者

javascript - 如何从数组对象中删除键值对

sql - Oracle SQL错误处理: catching the SQL-statement