Angular JS如何获取每个字段的发布数据

时间:2014-11-17 16:55:40

标签: angularjs forms post

我知道如何从包含ng-model的帖子中获取数据,只需为每个字段分配ng-model值,然后就可以从$ scope获取。

但是如何在不知道每个字段的情况下从帖子中获取每个字段值?

我的意思是PHP中的$ _POST变量,你可以获得数组中的每个数据字段。

编辑:

HTML:

<form data-ng-submit="sendPost()" ng-model="test.formData">
...
</form>

JS:

$scope.sendPost = function () {
   //This doesn't work
   console.log($scope.test.formData);
}

1 个答案:

答案 0 :(得分:0)

您可以定义$ resource工厂并使用它来保存任何类型的表单数据

angular
    .module('myApp.services', [])
    .factory('ResourceService', function($resource) {

        var ResourceObj = $resource(
                'v1/model',
            {
                id: '@id' 
            },
            { 'update': { method: 'PUT'} }
        );

        // class methods
        ResourceObj.getEmptyTemplate = function () {
            return {
                'name': '',
                'website': ''
            };
        };

        return Obj;
    });

你的控制器看起来像

angular
    .module('myApp.controllers')
    .controller('MyCtrl', function($scope, ResourceService) {
        $scope.resourceObj = new ResourceService(ResourceService.getEmptyTemplate());

        $scope.saveResource = function() {
            console.log($scope.resourceObj);
            $scope.resourceObj.$save({}, function (resourceData) {
                //success message
            });
        }; 
    });

你的表格html看起来像

<form role="form" name="resourceObj" data-ng-submit="saveResource()">
    <input type="test" data-ng-model="resourceObj.name">
    <input type="test" data-ng-model="resourceObj.website">
    <button type="submit" data-ng-disabled="!resourceObj.$valid"></button>
</form>