Я постараюсь объяснить мои вопросы / проблемы легко.
В моем jsp есть несколько ссылок, по одной на каждое сообщение форума. Когда я нажимаю любую из ссылок «.delete», запускается следующий скрипт:
$('.delete').click(function(event) {
event.preventDefault();
// some data recovering from the jsp's tags
var idMsg = $(this).closest('.li').attr('id');
var action = $(this).attr('name');
var origin = $('div#origin').attr('name');
...
// some checking
//alert('id: '+idMsg);
...
// I send the info to delete the message in the servlet
$.post("../app/ForumCampus", {action:action, idMsg:idMsg, origin:origin}, function(data) {
});
//$('.output').append('Message deleted successfully.');
});
Сначала я не хотел обновлять страницу и показывал только указанное выше сообщение об успехе.
Но теперь, из-за нумерации страниц, мне нужно обновить сервлет, и у меня есть следующий код в методе post:
response.sendRedirect(contextPath+"/app/" + origin);
Но когда AJAX переходит к сервлету, все выполняет (корректно удаляет сообщение), но не перенаправляет на сервлет. Страница не обновилась. Если я обновлю страницу вручную, все в порядке, удаленное сообщение не появится.
Мои вопросы:
1) Сервлет не перенаправляет, потому что скрипт еще не закончен? Почему?
2) Я могу обновить сервлет, просто набрав следующий код в событии .click:
location.reload();
Но есть способ, который вы считаете лучшим? Без использования Javascript или чего-то еще?
Спасибо за заранее, учиться с тобой так здорово:)