在angularjs中传递多个数据

时间:2016-07-31 19:52:21

标签: angularjs laravel

我正在使用AngularJS。我想通过AngularJS在HTTP帖子中发送多个数据。我使用laravel php作为后端,tinymce作为我的html文本编辑器。问题是tinymce出现了一个模型,我无法想象它关于如何传递处理多个模型的数据。

这是我的部分内容:

<div ng-controller="controller">

<div class="row">
    <div class="container">
        <div class="col-lg-8">
            <form role="form" method="post" >
                <div class="form-group" >
                    <input type="text" class="form-control" name="" ng-model="post.title" placeholder="Type the title here">
                </div>

                <div action="" class="form-group" ng-controller="TinyMceController">
                    <textarea ui-tinymce="tinymceOptions" ng-model="tinymceModel" style="height:300px">

                    </textarea>
                </div>

                <div class="form-group">
                    <input type="text" class="form-control" id="" ng-model="post.tags" placeholder="Atleast one related tag">
                </div>

                <button type="submit" class="btn btn-primary" ng-click="postsave()">Submit</button>
                <button class="btn btn-default">Discard</button>
            </form>
        </div>
        <div class="col-lg-4">
            RULES:
        </div>
    </div>
</div>

我的控制员:

app.controller('controller',['$scope','$rootScope','$http',function($scope,$rootScope,$http){

$scope.post={
    title:"",   
};


$scope.postsave= function(){
    $http({
        method:"POST",

        url:'http://localhost/../../...',
        data:        //I can pass title by using $scope.title but i aslo
                     //want to pass $scope.tinymcemodel


    })
    .success(function(result){
        alert(result);
    })
}

任何帮助都会很棒。如果有更好的方法,也可以建议我。

谢谢。

1 个答案:

答案 0 :(得分:1)

就像你的post.tags结构一样,你也应该这样做。将您的所有孩子置于父母之下并提交父母。让我们来看看:

$scope.formData = {}; //parent

然后你的textarea / title应该相应改变:

ng-model="formData.title" //child
ng-model="formData.tinymcemodel" //child 

然后当您传递数据时,您只需传递this.formData

$scope.postsave= function(){
    $http({
        method:"POST",
        url:'http://localhost/../../...',
        data: this.formData
    })
    .success(function(result){
        alert(result);
    })
};

这将通过对象正确发送到服务器,服务器将具有key:value对作为titletinymcemodel。请注意,post.tags不会包含在此提交内容中,因为它属于另一个父级。