先贴代码
if(new_!=renew_){
alert("输入的两次密码不同");
return false;
}else{
var url= "<%=basePath%>/system/password/reset1";
var pars ="oldPassword="+encodeURIComponent(loginPwd)+"&newPassword="+encodeURIComponent(new_);
var myAjax = new Ajax.Request(
url,
{method: 'get', parameters: pars, onComplete: callback}
);
}
}
function callback(myAjax){
var isUnique=myAjax.responseText;
//alert(isUnique);
//window.location.href = "<%=basePath%>admin/index";
//var isUnique1=1;
if(isUnique=="OK"){
alert("密码更改成功!");
window.location.href = "<%=basePath%>admin/index";
}else{
alert("密码更改失败!原始密码错误!");
}
}这是JSP页面上的代码,我做的是一个密码修改
这是一个后台
@RequestMapping("reset1")
@ResponseBody
public Result reset1(@PrincipalArgument User user, String oldPassword, String newPassword)
throws Exception {
System.out.println("oldPassword"+oldPassword+"newPassword"+newPassword);
MD5 md5 = new MD5();
String md5OldPassword = md5.getMD5ofStr(oldPassword);
String md5NewPassword = md5.getMD5ofStr(newPassword);
if(user.getPassword().equals(md5OldPassword)){
user.setPassword(md5NewPassword);
userService.save(user);
Result result = new Result("OK");
return result;
}else{
Result result = new Result("原始密码错误");
return result;
}
}
。。。。我怎么都取不到理想的值 myAjax.responseText 如何取到OK?
新人 刚刚接触web 不到一个月
alert(isUnique);取消注释这句看输出什么内容,你用的prototype框架,注意导入框架js文件,检查路径框架js文件路径是否正确
可以打开浏览器的开发工具看是否出现其他异常。你的js代码里面包含了服务器标签<%%>,注意这些js代码只能放在jsp页面的script标记里面,不要放到js文件中,要不你的代码会出问题,不会解析执行<%%>里面的代码导致路径包含<%%>这种内容而出问题
你debug一下看后台result返回的是不是“OK”,在前台alert(isUnique)看是什么值。如果这两步都不能执行,往前面找一下哪里出现的问题。再加上一楼说的js导入等问题,相信你能很快找到解决问题的方式方法并迅速成长起来!
看看是不是出错了,把onError设置上,出错了是在onError,不是在onComplete中