return false 写错位置了,你这个return false实际上只是停止了post方法的回调函数的继续向下执行,应该写在ajax方法结尾处!而ajax结尾处,你始终都是return true,所以总是会跳转! 你可以在ajax方法里边定义个变量值,将return false这句代码替换成给这个变量赋值,然后在ajax结尾处,根据这个变量来判断是否要跳转!
//代码如下
<h4><input type="password" id="unlock_password"/></h4>
$('.button').click(function(){
$.ajaxSetup({
async: false
});
var $hgh;
//获取解锁密码
var param = {"unlock_password" : $("#unlock_password").val()};
$.post("lock", param, function (data) {
//alert(data);
var $id=data;
//如果解锁密码不正确,继续锁屏
if($id==0) {
$hgh = true;
}else{
alert("密码不正确");
$hgh = false;
}
}
);
$.ajaxSetup({
async: true
});
return $hgh;
});