我正在使用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);
})
}
任何帮助都会很棒。如果有更好的方法,也可以建议我。
谢谢。
答案 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对作为title
和tinymcemodel
。请注意,post.tags
不会包含在此提交内容中,因为它属于另一个父级。