ajax登录验证,data返回值

$.ajax({
// 请求发送方式
type: 'post',
// 验证文件
url: 'login/login',
// 用户输入的帐号密码
data: {'adminname': $("#adminname").val(), 'password': $("#password").val()},
// 异步,不写默认为True
async: true,
//请求成功后的回调
success: function(data){
if (data){
alert(data);
alert('登录成功')
}else{
alert('帐号或密码错误');
}
},
error: function(){
alert('服务端异常');
}
if (data)里的data,后台怎么传值给data来判断账号霍迷码是否错误?网上说用0或
1来判断,那后台怎么把0或1传到 data里?
我后台是这样的
/**
* 登录方法验证
* */
@RequestMapping("/login")
public String login(HttpServletRequest request,HttpServletResponse response,Model model){
//从前台获得输入的账号密码

String user = request.getParameter("adminname");
String psw = request.getParameter("password");
//先判断前台传来的账号是否为空

if(user == null || user==""){
//前台提示
model.addAttribute("msg", "账号为空");
//返回登录界面
return "products/login";
}
//通过adminname查询整条数据
admin admin = adminMapper.getAdminByName(user);
//判断数据库里是否有这条数据
if(admin==null || "".equals(admin)){
model.addAttribute("msg", "账号或密码错误");
return "products/login";
}
//判断账户adminname有没有
if("".equals(admin.getAdminname())){
model.addAttribute("msg", "账号或密码错误");
return "products/login";
}
//判断密码password是否存在
if(admin.getPassword()== null){
model.addAttribute("msg", "账号或密码错误");
return "products/login";
}
//判断查询到的密码是否与数据库相对应的密码相同
if(!admin.getPassword().equals(psw)){
model.addAttribute("msg", "账号或密码错误");
return "products/index";
}
model.addAttribute(user);
//验证若都通过则跳到管业页面
return "zhuye";

    }

3个回答

发现你对用法的认识有问题,既然你选择用那个ajax提交,那么跳转操作就应该在ajax的success分支里面处理。
1 修正你的Action,添加@ResponseBody,返回登录验证结果,返回一个Java对象,记录校验结果。
2 修正你的ajax的success(data),此处的data就是你Action的返回值,直接通过data获取校验结果,决定跳转页面。

在方法体外加@ResponseBody

ajax请求的方法不重新加载整个网页的情况下,对网页的某部分进行更新,所以不能在请求的方法中执行页面跳转,只能返回json字符串,然后再在ajax方法中的返回结果做页面的跳转

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