2 qq 18596937 qq_18596937 于 2014.12.19 10:36 提问

急!!!!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 不到一个月

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2014.12.22 13:30

看看是不是出错了,把onError设置上,出错了是在onError,不是在onComplete中

showbo
showbo   Ds   Rxr 2014.12.19 10:59

alert(isUnique);取消注释这句看输出什么内容,你用的prototype框架,注意导入框架js文件,检查路径框架js文件路径是否正确

可以打开浏览器的开发工具看是否出现其他异常。你的js代码里面包含了服务器标签<%%>,注意这些js代码只能放在jsp页面的script标记里面,不要放到js文件中,要不你的代码会出问题,不会解析执行<%%>里面的代码导致路径包含<%%>这种内容而出问题

iamfangfang123
iamfangfang123   2014.12.19 14:12

你debug一下看后台result返回的是不是“OK”,在前台alert(isUnique)看是什么值。如果这两步都不能执行,往前面找一下哪里出现的问题。再加上一楼说的js导入等问题,相信你能很快找到解决问题的方式方法并迅速成长起来!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!