Necesitas pasar el $index
al delete
y elimine ese elemento de data
objeto
HTML
<ul>
<li ng-repeat="row in data">
{{row.ID}}
{{row.subject}}
{{row.body}}
<a ng-click="delete(row.ID, $index)">Delete</a>
</li>
</ul>
JS
$scope.delete = function(deletingId, index){
$http.get("delete.php?id=" + deletingId)
.success(function(data){
$scope.data.splice(index, 1);
})
}
También no hacer
- Usar un nombre diferente para la tecla ng-repeat (ahora cambié a
row
en lugar dedata
) - No vacíe el atributo href="" porque cuando hace clic en esta página completa puede actualizarse (ahora lo eliminé)
- No use sintaxis obsoleta en PHP. Usar
PDO
en lugar demysql_*