Javascript Angularjs无法解析返回的承诺
我有两个下拉列表与下面的代码级联,但是返回到第二个下拉列表的JSON没有呈现,因为返回的承诺没有正确解析Javascript Angularjs无法解析返回的承诺,javascript,angularjs,Javascript,Angularjs,我有两个下拉列表与下面的代码级联,但是返回到第二个下拉列表的JSON没有呈现,因为返回的承诺没有正确解析 <div class="row" style="padding-bottom:50px;width:85%;"> <select data-ng-model="search.astate" data-ng-options="s.StateID as s.StateName for s in astates" ng-change="agetLGA()">
<div class="row" style="padding-bottom:50px;width:85%;">
<select data-ng-model="search.astate" data-ng-options="s.StateID as s.StateName for s in astates" ng-change="agetLGA()">
<option value="">Filter by state</option>
</select>
</div>
<div class="row" style="width:85%;">
<select data-ng-model="search.algovt" data-ng-options="c.StateLGId as c.LGName for c in algovts" data-ng-disabled="!lgovts">
<option value="">Filter by local govt</option>
</select>
</div>
这是getLGA工厂定义
getLGA: function (stateId) {
return $resource('/Home/GetLGA/', { stateId: '@stateId' }, { update: { method: 'POST' } });
}
给出的错误是
Error: [$resource:badcfg] object
http://errors.angularjs.org/1.2.13/$resource/badcfg?p0=array
at http://localhost:53536/Scripts/angular.js:78:12
at a.module.factory.f.(anonymous function).p.then.m.$resolved (http://localhost:53536/Scripts/angular-resource.min.js:8:517)
at deferred.promise.then.wrappedCallback (http://localhost:53536/Scripts/angular.js:11033:81)
at deferred.promise.then.wrappedCallback (http://localhost:53536/Scripts/angular.js:11033:81)
at http://localhost:53536/Scripts/angular.js:11119:26
at Scope.$get.Scope.$eval (http://localhost:53536/Scripts/angular.js:12045:28)
at Scope.$get.Scope.$digest (http://localhost:53536/Scripts/angular.js:11871:31)
at Scope.ng.config.$provide.decorator.$delegate.__proto__.$digest (<anonymous>:844:31)
at Scope.$get.Scope.$apply (http://localhost:53536/Scripts/angular.js:12151:24)
at Scope.ng.config.$provide.decorator.$delegate.__proto__.$apply (<anonymous>:855:30)
请问有什么问题,我已经在你们工厂试过了所有我能做的事情试一下:
return {
getLGA: $resource('/Home/GetLGA/', {}, { update: { method: 'POST' } });
}
在控制器中:
$scope.agetLGA = function () {
var stateId = $scope.search.astate;
$scope.algovts = artFact.getLGA.update({stateId:stateId}, function (response){
$scope.algovts = response.data;
}));
};
您是否尝试过上面提到的文档-@Gavriguy,只是检查了一下,但无法找出未正确配置的参数。您不需要资源url中的stateId吗/Home/GetLGA/:stateId,{stateId:'@stateId'}…@brianj我认为我不需要它,因为我正在将stateId作为查询参数而不是url参数传递。感谢您的回复,它给了我一个线索,我通过在update方法中添加isArray:true使它起作用
$scope.agetLGA = function () {
var stateId = $scope.search.astate;
$scope.algovts = artFact.getLGA.update({stateId:stateId}, function (response){
$scope.algovts = response.data;
}));
};