2011-12-23 51 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方法而不是重定向方法。