2015-06-11 3 views
0

Я пытаюсь сделать вызов AJAX для своего сервлета, но он не работает. Я не могу перенаправить JSP.AJAX вызов сервлета Google App Engine (GAE)

Это мой AJAX вызов:

$.ajax({ 
      url: '/register', 
      type: 'GET' 
    }); 

Это мой Servlet:

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { 

    getServletContext().getRequestDispatcher("/prueba.jsp").forward(req, resp); 

} 

Если я использую resp.sendRedirect("prueba.jsp"), он не работает, но если я использую мой браузер и поставить «локальный: 8888/зарегистрироваться «все работает отлично!

Пожалуйста, помогите!

+0

Что вы подразумеваете под «_it doesn't work_»? какой ответ вы получаете? Кроме того, неясно, используете ли вы 'forward()' или 'sendRedirect()'? –

+0

Нет ответа. Оба способа недействительны, forward() и sendRedirect(). Спасибо. –

ответ

0

Вы не можете перенаправить использование Ajax. Это точка Ajax - она ​​асинхронна, отдельно от «основного потока».

Если вы хотите просто перенаправить либо:

  • Перенаправление в коде Java после выполнения некоторой обработки
  • есть ссылка в HTML - <a href="/register">Register!</a>
  • Если вы определенно хотите переадресовать использовать JavaScript , см. How can I make a redirect page using jQuery?

Последний метод может быть использован для использования с Ajax. Но это не совсем то, что вы хотите сделать. Посмотрите на How to redirect using AJAX?

+0

Спасибо! Он работает –

+0

'forward' не перенаправляет btw, он производит 200 статусов с контентом. поэтому он должен работать, если в другой части нет чего-то неправильного (и «это не ответ», вероятно, подтверждает это). –

+0

@IgorArtamonov вы, вероятно, правы, но из того, что я собрал, JHJ здесь просто хочет перенаправить. – Crembo

Смежные вопросы