这个问题是关于NodeJS如何处理HTTP响应的知识
我正在尝试使用NodeJS和AngularJS从json文件中删除字段 删除有效,但有两个问题:
$scope.$apply
工作并更新视图)delete error
窗口(为什么不在当前页面?),但是关闭窗口会显示没有选中元素的列表简而言之:发生了什么事 Lista(我的JSON)包含A,B,C,D元素 - >删除(B) - > F5-> “删除错误” - > Lista包含A,C,D
我的控制器:
$scope.remove = function (daRimuovere) {
var del = $scope.lista3.indexOf(daRimuovere);
$http.delete('http://localhost/delete/' + del)
.then(function () {
$http.get('http://localhost/files/lista.json')
.then(
function (result) {
$scope.lista3 = result.data;
},
function () {
window.alert('Errore get!');
});
window.alert('Delete success');
$scope.$apply;
},
function () {
window.alert('Errore delete');
}
)
};
我的NodeJS功能
server.delete('/delete/:id', function (req, res) {
jsonfile.readFile('./public/lista.json', function (err, obj) {
if (err)
console.log(err);
else {
console.log('id= '+ req.params.id);
obj.splice(req.params.id, 1);
}
jsonfile.writeFile('./public/lista.json', obj, function (err) {
if (err)
console.log(err);
else {
console.log(obj);
obj = JSON.stringify(obj, null, "\t");
}
})
});
});
答案 0 :(得分:0)
我回答了我自己的问题,以防有人从NodeJS收到奇怪的错误
删除功能中的错误是我没有返回HTTP显式响应,因此Angular不知道服务器上是否一切顺利。
我的解决方案是:
Route::group([ 'middleware' => 'name', 'namespace' => 'prefix' ], function($router){
$router->get('/xyz','Controller@function);
});