Angularjs -从输入文本ng-model填充json数组
angularjs - populating json array from input text ng-model
我有一个表单,我想把它的数据发送到json格式的后端。我遇到的问题是,一些表单字段应该填充一个数组。
表格的简短版本(使用玉模板):
div(ng-controller="NewProposalController as newProposal")
form(name="form", method="POST")
div
label Project:
input(type="text", ng-model="proposal.project")
div
label Contact name:
input(type="text", ng-model="proposal.contacts[0].name")
label email:
input(type="text", ng-model="proposal.contacts[0].email")
div
label Contact name:
input(type="text", ng-model="proposal.contacts[1].name")
label email:
input(type="text", ng-model="proposal.contacts[1].email")
button(ng-click="create(proposal)") Save
控制器的简写版本
App.controller('NewProposalController', ['$http', '$scope', '$window',
function($http, $scope, $window) {
$scope.master = {};
$scope.create = function(proposal) {
$scope.master = angular.copy(proposal);
$http.post('/proposals/proposal/create', $scope.master)
.success(function(data, status, headers, config) {
$window.location.href = headers('redirectURL');
});
};
}]);
期望发送到服务器的json
{
"project":"Some project name",
"contacts":[
{
"name":"John",
"email":"john@abc.com"
},{
"name":"Paul",
"email":"paul@abc.com"
}
]
}
然而,当我按下"保存"按钮时,我得到以下错误:TypeError: Cannot read property 'name' of undefined
我如何让我的联系人输入文本填充json属性作为一个数组?
在这种情况下,您需要从控制器初始化提案对象:
$scope.master = {};
$scope.proposal = {
contacts: [
{
name: "",
email: ""
},
{
name: "",
email: ""
}
]
};
相关文章:
- 用我的json数据填充JQuery DataTable
- 如何使用JSON字符串中的jQuery填充下拉框
- 从JSON填充列表(而不是HTML)
- 如何在 Jquery 中填充 JSON 响应值
- 如何在不丢失浮点精度的情况下填充 JSON 数据
- 用字符串和字符串数组动态填充json对象
- 如何使用ajax在select下拉列表中填充json数据
- 填充JSON数组
- 需要从 Angular JS 应用程序中的另一个 JSON 对象数组填充 JSON 数组的每个对象 JSON 对象数组
- 创建和填充json对象
- Angularjs -从输入文本ng-model填充json数组
- 用嵌套的对象数组填充JSON对象的正确格式是什么?
- 动态填充JSON层次结构
- 无法用正确格式的数据填充JSON请求
- 我如何从模板节点复制并填充json数据,并用javascript将它们附加到文档中
- 我如何加载填充JSON作为一个不可执行的,例如字符串或数据像常规JSON
- 胡子填充JSON对象错误
- 如何动态填充json数组对象
- 如何使用角度填充 json 数据
- 填充JSON动态数组