【发布时间】:2016-03-15 13:02:04
【问题描述】:
我正在为我的学院建立一个管理考试的平台。我使用 MEAN 堆栈。
除了删除“klausur”(德语考试)外,一切正常。代码如下。如果我单击表的任何对象上的最后一个链接(使用“deleteKlausur(klausur)”单击),而不是瞬时对象,但我的最后一个链接在我的表内被删除。在数据库内部,删除了正确的那个。如果我然后再次单击同一个按钮,服务器就会崩溃,因为它试图再次删除相同的 ID,给我一个关于空对象的问题。
<table class="table table-hover table-striped">
<thead>
<th>ID</th>
<th>Name</th>
<th>Datum</th>
<th>Semester</th>
<th>Aufgabenzahl</th>
<th>Teilnehmer</th>
<th>Aktionen</th>
</thead>
<tbody>
<tr ng-repeat="klausur in klausuren">
<td>{{klausur._id}}</td>
<td>{{klausur.name}}</td>
<td>{{klausur.gehaltenAm | date:'dd.MM.yy'}}
<br/>{{klausur.gehaltenAm | date:'H:mm'}}
</td>
<td>{{klausur.semester}}</td>
<td>{{klausur.aufgaben.length}}</td>
<td>{{klausur.teilnehmer.length}}</td>
<td><a href="#/klausuren/{{klausur._id}}/edit" class="btn btn-default" style="width:100%">Klausur
ändern</a><br/>
<a href="" ng-click="deleteKlausur(klausur)" class="btn btn-danger" style="width:100%">Klausur löschen</a></td>
</tr>
</tbody>
我的 JS(使用 Angular)脚本如下:
app.controller('KlausurListController', function ($scope, $http) {
$http.get('http://localhost:3000/klausuren').success(function (response) {
$scope.klausuren = response;
}).error(function (err) {
$scope.error = err;
});
$scope.deleteKlausur = function (klausur) {
$http.delete('http://localhost:3000/klausuren/'+ klausur._id).success(function(res){
$scope.klausuren.pop(klausur);
});
}});
谢谢你,甚至阅读整本书!希望你能帮忙!
【问题讨论】:
-
请添加
response对象
标签: javascript angularjs web-services rest mean-stack