最近在处理登录页面样式修改时,发现后台处理用ajaxReturn后的json数据直接在IndexAction上输出,不返回到login.html了。
HTML文件:
1 登录
JS文件
document.οnkeydοwn=function(event){
e = event ? event :(window.event ? window.event : null);
if(e.keyCode==13){
$('#btn_login').click();
}
};
$(function () {
$('#username').focus();
$('#btn_login').click(function(){
var u=$('#username').val();
var p=$('#password').val();
if (u == "") {
layer.tips('请输入用户名', '#username', {
tips: [2, '#0FA6D8'] //还可配置颜色
});
return false;
}
if (p == "") {
//layer.msg('请输入密码',function(){});
layer.tips('请输入密码', '#password', {
tips: [2, '#0FA6D8'] //还可配置颜色
});
return false;
}
$.ajax({
url: '__URL__/login',
type: "post",
data:{
'username':u,
'password':p
},
dataType:'json',
error:function(){
//layer.msg('无法访问数据库,请检查你的数据库配置',function(){})
},
success:function(data){
if(data.error==0){
location.href=data.url;
}else{
layer.tips(data.msg, '#password', {
tips: [2, '#0FA6D8'] //还可配置颜色
});
}
}
});
});
});
如果将 button的type改为submit,那么就会出现上述问题, 修改type=button就可以正常返回了。
或者使用 event.preventDefault();是阻止表单默认提交事件的,如果去掉那么即使js验证不通过,表单也会提交到控制器。加上这句后只有通过js验证后才会提交到控制器
来源:https://www.cnblogs.com/lisa-li/p/5395195.html