【问题标题】:AJAX call to Servlet Google App Engine (GAE)对 Servlet Google App Engine (GAE) 的 AJAX 调用
【发布时间】:2015-06-11 09:55:58
【问题描述】:

我正在尝试对我的 servlet 进行 AJAX 调用,但它不起作用。我无法重定向到 JSP。

这是我的 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"),它不起作用,但如果我使用我的浏览器并输入“localhost:8888/register”,它就可以正常工作!

请帮忙!

【问题讨论】:

  • 您所说的“它不起作用”是什么意思?你得到什么回应?还有,不清楚,你用的是forward()还是sendRedirect()
  • 没有任何回应。两种方式都是无效的,forward() 和 sendRedirect()。谢谢。

标签: java ajax jsp google-app-engine servlets


【解决方案1】:

您不能使用 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?

【讨论】:

  • forward 不是重定向 btw,它会产生 200 状态和内容。所以它应该可以工作,除非其他部分有问题(并且“没有任何回应”可能证实了这一点)
  • @IgorArtamonov 你可能是对的,但从我收集到的信息来看,这里的 JHJ 只是想重定向。
猜你喜欢
  • 1970-01-01
  • 2011-03-11
  • 2011-08-22
  • 2012-09-11
  • 2013-07-15
  • 1970-01-01
  • 2014-07-27
  • 2011-04-08
  • 2015-03-05
相关资源
最近更新 更多