2016-09-11 39 views
0

我有一些像這樣的代碼寫入到添加警告框的網頁重定向之前:Servlet響應中的JavaScript與sendRedirect()發生衝突?

... 
... 
PrintWriter out = response.getWriter(); 
response.setContentType("text/html"); 
out.println("<script type=\"text/javascript\">"); 
out.println("alert('testing');"); 
out.println("</script>"); 
... 
... 
response.sendRedirect("index.jsp") 

可惜只的sendRedirect()是成功的,在響應中添加的JavaScript不工作,爲的sendRedirect()阻止了JavaScript?或者做錯了什麼?

+0

當您使用response.sendRedirect是(),該javascirpt代碼將不會得到執行的頁面重定向從未加載。 爲什麼你需要警惕的語句? – Azim

+0

其他方法是進行Ajax調用並獲取響應中的url,並通過Javascript重定向到相同的url。 – Azim

回答

0

我認爲這是因爲通過out.println將被執行之後,編譯JSP但如你所使用的的sendRedirect的預覽代碼不會被編譯。

你可以嘗試:

out.println("<script type=\"text/javascript\">"); out.println("alert('testing');"); out.println("window.location="http://exemple.com/index.jsp";") out.println("</script>");

我認爲它的工作