作者:大胡子姐姐爱油面巾塞肉 | 来源:互联网 | 2023-08-26 17:30
前台js代码:
function loginIn(autoFlag){
$.post("loginDo.action",
{
username:$("[name=\"username\"]").val(),
password:$("[name=\"password\"]").val(),
autoLogin:autoFlag
},function(data){
alert(data);
if(data.resCode=="000"){
location.href="<%=basePath%>jsp/success.jsp";
}else if(data.resCode=="999"){
$("#loginErr").html("× 用户名或密码错误");
}
} );
};
struts.xml代码
resCode
后台LoginAction.java代码
public class LoginAction extends ActionSupport {
private String username;
private String password;
private String resCode;
private String autoFlag;
public String getAutoFlag() {
return autoFlag;
}
public void setAutoFlag(String autoFlag) {
this.autoFlag = autoFlag;
}
public String getResCode() {
return resCode;
}
public void setResCode(String resCode) {
this.resCode = resCode;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login(){
LoginDao loginDao = new LoginDao();
Users user = loginDao.userQuery(username, password);
if (user != null){
resCode = Constants.success;
}else{
resCode = Constants.fail;
}
System.out.println(resCode);
return resCode;
}
}
其中resCode是能正常被设置为’000‘,就是说传入的数据全部正常,经过处理得到的数据也正常,但就是’000‘没法返回到前台。
firebug中显示如下
因此就不回调到function(data)中执行其他操作,
请问问题出在哪?
2 个解决方案
执行顺序问题吧。点登陆后值传入后台,你那个验证方法就执行了吧。应该是值返回到前台后,你才去执行前台的判断方法。是不是这个问题。