$ scope格式的数据格式为angular

时间:2013-05-19 15:08:39

标签: javascript angularjs

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'

我做错了什么?

1 个答案:

答案 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');
});

根据Angular Documentation

The default set contains these actions:
{ 'get':    {method:'GET'},
  'save':   {method:'POST'},
  'query':  {method:'GET', isArray:true},
  'remove': {method:'DELETE'},
  'delete': {method:'DELETE'} };