[英]i am not able to compare the string returned by the ajax request from servlet
[英]unable to compare returned String from AJAX call
我正在使用AJAX來檢查用戶的登錄詳細信息是否正確。 當前,如果詳細信息正確,我將輸出“成功”,並將其返回給AJAX調用,並應發出警報。 當我嘗試比較返回的String時,當我嘗試==
和===
時,它總是會掉落。
這是AJAX:
$("#loginForm").submit(function(e){
e.preventDefault(); //STOP default action
var postData = $("#loginForm").serializeArray();
var username = $("#username").val();
var password = $("#password").val();
if(username.length > 0 && password.length >){
$.ajax(
{
type: "POST",
url : "HomeController",
data : postData,
success: function(data)
{
if(data == "success"){
alert(data);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
$("#loginResult").html("<p>ss"+errorThrown+textStatus+jqXHR+"</p>");
}
});
}else{
$("#loginResult").html("<p>Unable to login: ensure details are correct.</p>");
}
});
和HomeController
返回“成功”:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String form = request.getParameter("form");
// check login details
if(form.equals("loginForm")){
String username = request.getParameter("username").trim();
String password = request.getParameter("password").trim();
PrintWriter out = response.getWriter();
password = loginService.hashPassword(password);
boolean isValidUser = loginService.checkUser(username, password);
if(isValidUser){
// set session
HttpSession session = request.getSession();
session.setAttribute("loggedIn", "true");
out.println("success");
}else{
out.println("Incorrect login details.");
}
}
}
我知道它返回“成功”,因為當我刪除if
語句時,它會警告“成功”。
為什么不能成功比較兩個字符串?
在控制器中使用out.print("success")
而不是out.println("success")
,或從Javascript data
對象中修剪換行符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.