2011-12-23 58 views
0

我使用jquery .post()方法发布数据到servlet。数据正在发布,servlet能够捕获数据。但是在我的萤火虫中,一旦完成发布请求,我就会看到302。Firebug怪异的jquery 302错误

此外,我正在将用户重定向到我的servlet中的成功页面。但重定向没有发生!

我不应该收到200的邮寄请求?

为什么简单的response.sendRedirect("success.jsp")不会发生?

enter image description here

当我点击响应选项卡上,我可以看到success.jsp html标签。

请点亮发生了什么?我如何纠正它?

+0

[如何在jQuery Ajax调用后管理重定向请求](http://stackoverflow.com/questions/199099/how-to-manage-a-redirect-request-after-a-jquery- AJAX调用) – Paulpro 2011-12-23 07:29:39

回答

0

您的servlet正在发送重定向消息,该消息为您提供302响应头。最好是发回一个url,并在成功时将用户重定向到它。

像这样:

$.post("scripturl", { data: data }, function(result) { 
    if (result.success) { 
     window.location.href = result.url; 
    } 
}) 
0

这不奇怪。因为您在服务器中调用了sendRedirect方法,所以服务器发回302响应以通知客户端浏览器重定向到另一个url(它也会在响应头中发送)。

如果要从服务器端执行重定向,则可以使用forward方法而不是重定向方法。