我是新来的Angular JS 1.在我的要求中,我试图使用API(PUT方法)将数据上传到mongoDB中。但我不确定如何定义嵌套对象。在我有地址字段的表单中,它有两个永久和邮政嵌套的对象。以下是更好理解的格式。如何使用Angular js 1将嵌套对象放入数据库?
JSON数据:
"address" : {
"permanent" : {
"line1" : "geisenheimer",
"zip" : 14197,
"state" : "BW",
"Country" : "DE"
},
"postal" : {
"line1" : "Sandwingert",
"zip" : 69123,
"state" : "BW",
"Country" : "DE"
}
}
我想知道我在控制器如果它的正确方法定义的地址。
的index.html
<form class="form-horizontal">
<div class="form-group" ng-class="{ 'has-error': form.name.$dirty && form.name.$error.required }">
<label for="name" class="col-sm-2 control-label" >Name</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="name" ng-model="name" placeholder="Enter name as per SSLC marksheet" required>
</div>
</div>
<div class="form-group" ng-class="{ 'has-error': form.address.$dirty && form.address.$error.required }">
<label for="address" class="col-sm-2 control-label">Address</label>
<div class="col-sm-5">
<label style="padding-top:8px">Permanent Address</label><br>
<!-- <input type="text" class="form-control" id="name" placeholder="Full Name" ng-model="permanentfullname" required><br>
<input type="text" class="form-control" id="name" placeholder="Address Line 1" ng-model="permanentadd1" required><br> -->
<input type="text" class="form-control" placeholder="Address Line1" ng-model="address.permanent.line1" required><br>
<!-- <input type="text" class="form-control" id="name" placeholder="City/Town" ng-model="permanentcity" required><br> -->
<input type="text" class="form-control" placeholder="State" ng-model="address.permanent.state" required><br>
<input type="text" class="form-control" placeholder="Zip/Postal code" ng-model="address.permanent.zip" required><br>
<input type="text" class="form-control" placeholder="Country" ng-model="address.permanent.country" required><br>
</div>
<div class="col-sm-5">
<label style="padding-top:8px">Postal Address</label><br>
<!-- <input type="text" class="form-control" id="name" placeholder="Full Name" ng-model="postalFullname" required><br> -->
<input type="text" class="form-control" placeholder="Address Line 1" ng-model="address.postal.line1" required><br>
<!-- <input type="text" class="form-control" placeholder="Address Line 2" ng-model="postaladd2" required><br> -->
<!-- <input type="text" class="form-control" placeholder="City/Town" ng-model="postalcity" required><br> -->
<input type="text" class="form-control" placeholder="State" ng-model="address.postal.state" required><br>
<input type="text" class="form-control" placeholder="Zip/Postal code" ng-model="address.postal.zip" required><br>
<input type="text" class="form-control" placeholder="Country" ng-model="address.postal.country" required><br>
</div>
</div>
Controller.js
(function() {
'use strict';
angular
.module('app')
.controller('userProfile.IndexController', function($scope,$http)
{
// var vm = this;
$scope.address = {
permanent {
line1: ""
zip: ""
state: ""
country: ""
},
postal {
line1: ""
zip: ""
state: ""
country: ""
}
$scope.save = function()
{
$http.put('https://student.herokuapp.com/user/personalInfo',
{name : $scope.name,
dob : $scope.dob,
gender:$scope.gender,
line1:$scope.address.permanent.line1,
zip:$scope.address.permanent.zip ,
state:$scope.address.permanent.state,
country:$scope.address.permanent.country,
line1:$scope.address.postal.line1,
zip:$scope.address.postal.zip ,
state:$scope.address.postal.state,
country:$scope.address.postal.country
}).success(function(response)
{
console.log(response);
$scope.name= "";
$scope.dob= "";
$scope.gender= "";
$scope.permanent.line1= "";
$scope.permanent.zip = "";
$scope.permanent.state= "";
$scope.permanent.country= "";
$scope.postal.line1= "";
$scope.postal.zip = "";
$scope.postal.state= "";
$scope.postal.country= "";
}
);
}
})
})();
我使用PUT方法 – HebleV
更改方法要任何GET,POST,DELETE,PUT,PATCH –
但是,如何嵌套对象? – HebleV