Я создаю веб-приложение node.js
и имею функцию удаления, которая запрашивает базу данных mongo
, удаляет document
и затем отправляет пользователя на другую страницу.Страница не загружается после res.send()
Однако после того, как функция вызывается, новая страница не перезагружается, хотя удаляется document
, и я могу вручную загрузить эту страницу. Вместо этого существует существующая страница.
Вот GET
сообщение, которое я вижу от терминала после завершения функции:
GET /students 200 9ms - 5.64kb
функция удаления:
remove: function(req, res) {
function(err, result) {
Models.Student.remove({myid:{$regex:req.params.students_id}},function(err,removed) {
if (err){
throw err;
}
else{
res.send('/students');
}
})
},
Функция для отображения новой страницы:
index: function(req, res) {
var viewModel = {
student: [],
};
Models.Student.find({},function(err, student) {
if (err) { throw err; }
if (student) {
viewModel.student=student;
res.render('../views/students.handlebars',viewModel);
}
else {
res.redirect('/');
}
});
},
Сценарий JQuery:
$(function(){
$('#btn-delete').on('click', function(event) {
event.preventDefault();
var $this = $(this);
var remove = confirm('Are you sure you want to delete this student?');
if (remove) {
var studentid = $(this).data('id');
$.ajax({url: '/students/'+studentid, type: 'DELETE'}).done(function(result) {
if (result) {
$.ajax(
{type: 'GET',
url:'/students',
success: function(){
console.log('success');
}
}
)
}
else{
console.log('Unable to delete');
}
});
}
});
});
И маршрутизация:
app.get('/students',students.index);
Я очень признателен за любую помощь, оказанную.
Консоль не имеет «успеха», записанного в ней после удаления? – cDima
Ваш код для обновления страницы должен быть на ** console.log ('success'); ** – Rayon
hmmm ... Я немного смущен, потому что думал, что либо (1) res.send(), либо (2) $ .ajax (({type: 'GET', url: '/ students',) должен делать это. – qts