У меня есть веб-приложение с java и EXT JS (3.4). Для всех сервлетов, это то, что у меня есть в моем методе doGet:Ответ sendRedirect не работает с запросом AJAX
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
try {
response.sendRedirect("ErrorPage.jsp");
} catch (Throwable t) {
//do some logging
}
}
имитировать запрос GET, с EXT JS с помощью:
Ext.Ajax.request({
method : 'GET',
url : 'web'//web is the servlet name
});
страница не перенаправляет. Это выход из tamperData плагин в браузере Firefox:
Если вы не видите изображения, это говорит о том, что AJAX получить запрос ответил со статусом 302: это означает, перенаправлять и был запрос ErrorPage. jsp, который возвратил код состояния 200: это означает, что запрос успешно завершен.
Если я предупреждаю ответ в обратном вызове запроса ajax, он предупреждает содержимое ErrorPage.jsp. У меня есть большое количество таких запросов AJAX. Есть ли причина, по которой перенаправление не работает.
Я добавил следующий код. Но я всегда получаю статус 200. Когда хотя я могу видеть в поджигатель, что для запроса прибудет первый запрос дал статусу 302 и вторые один за ошибку Page дал 200.
Ext.Ajax.on('requestcomplete', function(conn, response, options) {
alert('successful'+response.status)
});
Ext.Ajax.on('requestexception', function(conn, response, options) {
alert('failed'+response.status)
});
Деталь:
ОС: Windows 7
Сервер: Apache Tomcat 7.0.42
Servlet Api: Использование сервлета-Апи-3.0.jar
Это выглядит как Ext.js лечит статус ответа 302 как ошибка, поэтому вам нужно будет обработать его в своем коде. См. Http://www.sencha.com/forum/showthread.php?30278-Following-HTTP-Redirects-(302) –
@Frank Обновленный вопрос – Shiva
Это как раз то, как AJAX-запросы работают, по моему опыту. Я отправил ответ на один способ решения этого вопроса до [здесь] (http://stackoverflow.com/q/11722563/552438) (использует jQuery), вы должны быть в состоянии адаптировать это, чтобы оно соответствовало вашим потребностям. Из ссылки Фрэнка похоже, что в Ext JS могут быть другие способы решения проблемы. –