在列表页面中编辑MEANJS列表

时间:2016-02-12 06:49:57

标签: javascript angularjs meanjs

我正在使用MEAN JS,我正在尝试编辑列表页面上的列表项,但它显示如下错误。我使用ng-init="find()"作为列表发起了数据,ng-init="findOne()"发布了个人数据。

Error: [$resource:badcfg] Error in resource configuration for action `get`. Expected response to contain an object but got an array

HTML 下面是控制器内的表单,它启动find()和findOne()。

<div ng-controller="OrdersController" ng-init="find()">
                <div> 
                    <div class="order-filter">
                        <div ng-repeat="order in orders">
                            <form ng-init="findOne()" name="orderForm" class="form-horizontal" ng-submit="update(orderForm.$valid)" novalidate>
                                <input type="text" class="" ng-model="order.title">
                                <input type="text" class="" ng-model="order.content">
                                <div class="form-group">
                                    <input type="submit" value="Update" class="btn btn-default">
                                </div>
                            </form>
                        </div>
                    </div>              
                </div>
            </div>

控制器

$scope.update = function (isValid) {
    $scope.error = null;

    if (!isValid) {
        $scope.$broadcast('show-errors-check-validity', 'orderForm');

        return false;
    }

    var order = $scope.order;

    order.$update(function () {
        $location.path('orders/' + order._id);
    }, function (errorResponse) {
        $scope.error = errorResponse.data.message;
    });
};
$scope.find = function () {
    Orders.query(function loadedOrders(orders) {
        orders.forEach(appendFood);
        $scope.orders = orders;
    });
};
$scope.findOne = function () {
        $scope.order = Orders.get({
            orderId: $stateParams.orderId
        });
    };

1 个答案:

答案 0 :(得分:0)

您需要检查订单服务,该服务可能正在使用$ resource来提供您的API请求(Orders.query)

看起来应该是这样的:

function OrdersService($resource) {
    return $resource('api/orders/:orderId', {
      orderId: '@_id'
    }, {
      update: {
        method: 'PUT'
      }
    });
  }

根据您使用的平均版本,样式可能会有所不同。默认情况下,$ resource查询会产生一系列结果,但如果出于某种原因,您已设置&#34; isArray&#34;为假,那么它会期待一个物体。

https://docs.angularjs.org/api/ngResource/service/$resource