问题描述
- 急!!!!ajax responseText的问题 5C
- 先贴代码
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 不到一个月
解决方案
看看是不是出错了,把onError设置上,出错了是在onError,不是在onComplete中
解决方案二:
alert(isUnique);取消注释这句看输出什么内容,你用的prototype框架,注意导入框架js文件,检查路径框架js文件路径是否正确
可以打开浏览器的开发工具看是否出现其他异常。你的js代码里面包含了服务器标签<%%>,注意这些js代码只能放在jsp页面的script标记里面,不要放到js文件中,要不你的代码会出问题,不会解析执行<%%>里面的代码导致路径包含<%%>这种内容而出问题
解决方案三:
你debug一下看后台result返回的是不是“OK”在前台alert(isUnique)看是什么值。如果这两步都不能执行,往前面找一下哪里出现的问题。再加上一楼说的js导入等问题,相信你能很快找到解决问题的方式方法并迅速成长起来!