搜索产品在找到产品时工作正常,但如果用户搜索字母或错误标准,则不会发生任何事情。我可以在JavaScript-console和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'} }
});
//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);
});
};
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
标题中的状态代码
答案 0 :(得分:1)
尝试将成功和错误处理程序作为第二个和第三个参数发送到“get”函数而不是使用promises。出现了同样的问题:How to handle $resource service errors in AngularJS