http post 带有 json 文件和嵌套数组 Angularjs
http post with json file and nested array Angularjs
我有一个应用程序可以通过关系数据库模型通过 http 获取和 post。我能够显示我的数据,JSON 数据在 http://localhost/**/api/complaint 上看起来像这样:
{
"CHECKLISTs": [{
"COMP_ID": 1,
"IntOIMRec": "No"
}],
"COMP_ID": 1,
"FileNum": "case1"
}
使用 angular:
<tr data-ng-repeat="complaint in complaints">
<td><strong data-ng-hide="complaint.editMode">{{ complaint.FileNum }}</strong></td>
<td>
<p data-ng-hide="complaint.editMode">{{ complaint.CHECKLISTs[0].IntIAB}}</p>
<input data-ng-show="complaint.editMode" type="text" data-ng-model="customer.Status" />
</tr>
我也可以使用这个控制器 http post:
//Insert complaint
$scope.add = function () {
$scope.loading = true;
$http.post('/api/Complaint/', this.newcomplaint).success(function (data) {
alert("Added Successfully!!");
$scope.addMode = false;
$scope.complaints.push(data);
$scope.loading = false;
}).error(function (data) {
$scope.error = "An Error has occured while Adding complaint! " + data;
$scope.loading = false;
});
};
但是当我将 Checklists[0] 添加到我的表单中以添加它时,它不会添加新记录。我用于添加新记录的表单代码如下所示:
<div class="row">
<div class="col-md-12">
<strong class="error">{{ error }}</strong>
<p data-ng-hide="addMode"><a data-ng-click="toggleAdd()" href="javascript:;" class="btn btn-primary">Add New</a></p>
<form name="addComplant" data-ng-show="addMode" style="width:600px;margin:0px auto;">
<div class="form-group">
<label for="cid" class="col-sm-2 control-label">ID:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cid" placeholder="please enter id" data-ng-model="newcomplaint.FileNum" required />
</div>
</div>
<div class="form-group">
<label for="cname" class="col-sm-2 control-label">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cname" placeholder="please enter your name" data-ng-model="newcomplaint.CHECKLISTs[0].IntIAB" />
</div>
</div>
<br />
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" value="Add" data-ng-click="add()" class="btn btn-primary" />
<input type="button" value="Cancel" data-ng-click="toggleAdd()" class="btn btn-primary" />
</div>
</div>
<br />
</form>
</div>
</div>
我的console.log输出:
谁能告诉我是否可以使用 angular http.get 和 http.post 显示它,为什么我不能添加到清单字段中,因为它清楚地显示在 JSON 文件,它显示得很好吗?我得到的错误是 [object object] ?
谢谢
仅通过查看您的代码,您似乎正在推进 $scope.complaints,而不是 $scope.complaint.CHECKLISTs
你有 ng-repeat 吗?
将 $scope.complaints.push(data);
更改为 $scope.newcomplaint = data
。或者如果 complaints 真的应该是一个数组,那么你需要在你的表单
上有一个 ng-repeat
我有一个应用程序可以通过关系数据库模型通过 http 获取和 post。我能够显示我的数据,JSON 数据在 http://localhost/**/api/complaint 上看起来像这样:
{
"CHECKLISTs": [{
"COMP_ID": 1,
"IntOIMRec": "No"
}],
"COMP_ID": 1,
"FileNum": "case1"
}
使用 angular:
<tr data-ng-repeat="complaint in complaints">
<td><strong data-ng-hide="complaint.editMode">{{ complaint.FileNum }}</strong></td>
<td>
<p data-ng-hide="complaint.editMode">{{ complaint.CHECKLISTs[0].IntIAB}}</p>
<input data-ng-show="complaint.editMode" type="text" data-ng-model="customer.Status" />
</tr>
我也可以使用这个控制器 http post:
//Insert complaint
$scope.add = function () {
$scope.loading = true;
$http.post('/api/Complaint/', this.newcomplaint).success(function (data) {
alert("Added Successfully!!");
$scope.addMode = false;
$scope.complaints.push(data);
$scope.loading = false;
}).error(function (data) {
$scope.error = "An Error has occured while Adding complaint! " + data;
$scope.loading = false;
});
};
但是当我将 Checklists[0] 添加到我的表单中以添加它时,它不会添加新记录。我用于添加新记录的表单代码如下所示:
<div class="row">
<div class="col-md-12">
<strong class="error">{{ error }}</strong>
<p data-ng-hide="addMode"><a data-ng-click="toggleAdd()" href="javascript:;" class="btn btn-primary">Add New</a></p>
<form name="addComplant" data-ng-show="addMode" style="width:600px;margin:0px auto;">
<div class="form-group">
<label for="cid" class="col-sm-2 control-label">ID:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cid" placeholder="please enter id" data-ng-model="newcomplaint.FileNum" required />
</div>
</div>
<div class="form-group">
<label for="cname" class="col-sm-2 control-label">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cname" placeholder="please enter your name" data-ng-model="newcomplaint.CHECKLISTs[0].IntIAB" />
</div>
</div>
<br />
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" value="Add" data-ng-click="add()" class="btn btn-primary" />
<input type="button" value="Cancel" data-ng-click="toggleAdd()" class="btn btn-primary" />
</div>
</div>
<br />
</form>
</div>
</div>
我的console.log输出:
谁能告诉我是否可以使用 angular http.get 和 http.post 显示它,为什么我不能添加到清单字段中,因为它清楚地显示在 JSON 文件,它显示得很好吗?我得到的错误是 [object object] ?
谢谢
仅通过查看您的代码,您似乎正在推进 $scope.complaints,而不是 $scope.complaint.CHECKLISTs
你有 ng-repeat 吗?
将 $scope.complaints.push(data);
更改为 $scope.newcomplaint = data
。或者如果 complaints 真的应该是一个数组,那么你需要在你的表单
ng-repeat