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输出:

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