关于jQuery的.ajax发送的数据问题

$.ajax({
url:"__URL__/passEdit",
type:"POST",
data: "password='"+pass+"'&id='"+id+"'",
dataType:"text",
async:true,
success:function(res){
if(res=="Y"){
alert(res);
//密码验证成功
$("#pass").parents('tr').hide;
}else{
//密码验证失败
alert(res);
$("原密码不正确!").insertAfter("#pass").css("color","red");

                                    }
                                }

                            });

我把password和id两个参数发送到制定的php文件中,两个值都发送成功了,password为admin,经过md5加密,和数据库中的密码作比较,查看是否相同,为什么同样是admin,md5之后就不相同了啊?我打印出来传过去的参数加密之后的值,和我数据库中的加密之后的admin不相同,求大神解答,今晚又不能睡了。。。
这个是php文件的代码
public function passEdit(){
$id = $_REQUEST['id'];
$pass = $_REQUEST['password
$pwd = M('users')->field('password')->find($id
if($pwd['password'] == md5($pass)){
//密码正确
die('Y');
}else{
//密码错误
die('N');
}

}   
一直返回下面的N

2个回答

Jquery Ajax服务器返回数据问题
jQuery--Ajax提交页面数据
jQuery发送ajax请求,IE有缓存,数据不更新问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

混淆下就好了,服务器端在解码回来,不要md5,不同语言md5后的内容有些不一样

如果 提交的值你确定完全一样,没有多余的空格等,那么转换的MD5应该是完全一样的。你这种情况唯一的可能就是数据库字段长度不够,比如你
数据库中密码字段的长度是 20,但是 你密码转换为 MD5后的长度 可能有 30,所以会出现 不同的情况。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问