我創建了一個登錄表單Ajax請求的終止於servlet的
<div class="top1">
<span id="book_store">Book Store</span>
<div class="login_signup_form">
<input type="email" id="email_id" placeholder="Email" name="email" />
<input type="password" id="pas" placeholder="Password" name="password" />
<span id="wrongPass" style="font-size: 15px; color: red; display: none;">
Wrong Password
</span>
<button id="logIn">Log In</button>
<button id="signUp">Sign Up</button>
</div>
</div>
我驗證電子郵件地址和密碼使用AJAX這是絕對的罰款。
$("#logIn").click(function(){
var info = {
email: $("#email_id").val(),
password: $("#pas").val()
} ;
$.ajax({
type: 'POST',
url: 'login',
data: info,
success: function (data) {
if(data==="wrongPassword")
$("#wrongPass").show();
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
});
當密碼錯誤則在同一頁上顯示的錯誤,但我想要的Servlet來,如果密碼是正確的請求重定向到JSP頁面。 servlet代碼是:
if(!pass.equals(tempPass))
{
writer.print("wrongPassword");
}
else
{
dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request,response);
}
密碼錯誤的情況下工作正常,但是當密碼是正確的,那麼請求不被重定向到的login.jsp。我認爲它返回到ajax調用。 我可以打破在servlet中的其他條件的ajax調用返回,以便請求不會返回到ajax調用,而是它被轉發到jsp頁面? PLZ help !!!!
這不是一個重複的問題...
我想重定向請求由servlet來JSP。我已經使用ajax向該servlet發送請求,並嘗試將請求重定向到其他塊中的login.jsp,但它未被定向...相同的頁面仍保留在窗口中。
除非有一些額外的JavaScript沒有顯示,否則這裏沒有任何東西可以讓它在客戶端重定向。只需從servlet重定向就不會對客戶端做任何事情,因爲響應是由JavaScript處理的。 – user1751825
我收集你沒有理解下面的答案和一個重複?只需在JavaScript中執行'window.location ='newurl''。您只需將servlet傳遞'newurl'作爲ajax響應。 – BalusC