SSM登录账户密码用AJAX提交的数据一直是NULL,大神们帮忙看下哪里出错了

箜篌引 2018-05-21 06:37:34
JSP页面
<div class="logo_box">
<h3>欢迎你</h3>
<form action="#" name="f" method="post">
<div class="input_outer">
<span class="u_user"></span>
<input name="logname" class="text" style="color: #FFFFFF !important" type="text" placeholder="请输入账户" id="tname">
</div>
<div class="input_outer" id="key">
<span class="us_uer"></span>
<input name="logpass" class="text" style="color: #FFFFFF !important; position:absolute; z-index:100;" type="password" placeholder="请输入密码" id="password">
</div>
<div class="mb2"><a class="act-but submit" style="color: #FFFFFF" id="btn" >登录</a></div>
</form>
</div>

<script type="text/javascript">
$("#btn").click(function(){
if($("#tname").val()==""||$("#password").val()==""){
alert("账号或者密码不能为空");
return false;
}else{
$.ajax({
type:"POST",
url:"${APP_PATH}/login",
data:{tname:$("#tname").val(),tpwd:$("#password").val()},
success:function(data){
var str = data.result;
//判断输入是否成功,成功则跳转
if("用户名可用!"==data){
alert("登录成功");
window.location.href="${APP_PATH}/index.jsp";
}else{
alert("账号密码错误");
window.location.href="${APP_PATH}/login.jsp";
return false;
}
}
});
}
});
</script>


controller
@Autowired
staffInfoService staffinfoService;


/*
* 登录
*/
@ResponseBody
@RequestMapping(value="/login",method=RequestMethod.POST)
public String Login(staffInfo staffinfo,HttpServletRequest request, HttpServletResponse response,Model model) throws IOException {
String tname=staffinfo.getStaffName();
String tpwd=staffinfo.getStaffPassword();
staffinfo.setStaffName(tname);
staffinfo.setStaffPassword(tpwd);
staffInfo add=staffinfoService.checkLogin(tname, tpwd);
String mes="用户名可用!";
//判断用户名及密码是否正确,正确则登录,错误则提示重新输入
if(add!=null){
//设置字符集
response.getWriter().write(mes);
}else{
mes="用户名或密码不正确!";
response.getWriter().write(mes);
}
return null;
} ;


数据一直提交的是NULL 永远都是用户名或密码不正确
...全文
1162 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
竹子_bamboo 2018-05-22
  • 打赏
  • 举报
回复
引用 3 楼 QWERT4745 的回复:
public String Login(@RequestBody staffInfo staffinfo
楼上说的也是问题,你的实体没写@RequestBody
竹子_bamboo 2018-05-22
  • 打赏
  • 举报
回复
我看出一点问题,但不确定你的问题是不是这个问题影响的 你java接收一个对象staffInfo  String tname=staffinfo.getStaffName(); String tpwd=staffinfo.getStaffPassword(); 但是你前端传的对象跟你后端对象名称匹配不上 {tname:$("#tname").val(),tpwd:$("#password").val()} 后端是StaffName,你前端是tname 对象没发映射上,肯定没值额,你把前端的名称改成你staffInfo 实体对应的名称
QWERT4745 2018-05-22
  • 打赏
  • 举报
回复
public String Login(@RequestBody staffInfo staffinfo
箜篌引 2018-05-21
  • 打赏
  • 举报
回复
箜篌引 2018-05-21
  • 打赏
  • 举报
回复
快来大神帮帮我啊 到底是哪里出问题了

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧