A对角度有测试应用。我尝试从我的模型中的php页面接收数据。响应来自php文件中的此命令echo json_encode($arr);
,格式为[{"id":"1","name":"first","text":"description"}]
。要在我的模型中接收此数据,只需使用查询原因.get给出错误。我在控制器中的查询:
$scope.item = Items.query({id:$routeParams.id});
现在如果我想在我的模型中使用这些数据,我需要指定我的数组项[0] .name
这不是问题,但当我尝试保存编辑的数据时
$scope.item[0].$save({id:$scope.item[0].id});
我有一个错误TypeError:对象#没有方法'push'
我做错了什么?
答案 0 :(得分:0)
如果您正确设置了资源,您应该只需调用:
即可保存$scope.item[0].$save();
然而,看起来你并没有这样做。使用query
时,它通常会返回一个数组。当您查询单个ID时,您应该使用get
方法:
$scope.item = Items.get({id:$routeParams.id});
...
// Modify $scope.item as needed
...
$scope.item.$save();
定义资源的最简单方法是使用Angular提供的默认操作:
.factory('Items', function($resource) {
return $resource('/angular/angular-seed/app/questions/php/maintext.php');
});
The default set contains these actions:
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'} };