求助前端data总是无法收到后台的数据

zahuilg10 2019-07-30 06:57:17
在提交登录时,data总是没办法从servlet文件调回数据
data无法调回任何数据

这是servlet文件:
public class MemberServlet extends DispatcherServlet {
public void login() {
// 接收表单参数
String mid = super.request.getParameter("mid");
String password = super.request.getParameter("password");
System.out.println(mid);
System.out.println(password);
// 数据验证
if (ValidateUtils.validateEmpty(mid) && ValidateUtils.validateEmpty(password)) { //判断true
// 将数据保存在对象之中
Member vo = new Member();
vo.setMid(mid);
vo.setPassword(new MD5Code().getMD5ofStr("{[" + password + "]}")); // 加盐处理
try {
Map<String, Object> map = ServiceFactory.getIMemberServiceInstance().login(vo);
Member member = (Member) map.get("member");
if (member.getMid() != null) {
super.request.getSession().setAttribute("member", map.get("member")); //保存对象数据
super.response.getWriter().print("success");
}else {
super.response.getWriter().print("error");
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
super.response.getWriter().print("error");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}


这是js文件:
layui.use(['form','jquery','layer'],function(){
var form = layui.form,
$ = layui.$,
layer = layui.layer;
form.on('submit(submitBtn)',function(obj){
$.ajax({
url:getContextPath()+'/MemberServlet/login',
type:'POST',
data:$(".layui-form").serialize(), // 取得表单的所有数据内容
success:function(data){
if(data =="error"){
layer.msg('用户登录成功',{time:2000,icon:1,end:function(){
location.href=getContextPath()+"/pages/back/index.jsp";
}})
}else{
layer.msg('用户登录失败',{time:2000,icon:2,})
}
}
});
});
})
...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zahuilg10 2019-08-04
  • 打赏
  • 举报
回复
引用 4 楼 usecf 的回复:
调试打印下你返回的data是啥
嗯打印了,发现已经调回来所以这两个文件都是对的,后来慢慢看日志发现是在链接数据库少写了password的查询,谢谢帮我提建议
zahuilg10 2019-08-04
  • 打赏
  • 举报
回复
引用 3 楼 瘦死的黑骆驼 的回复:
servlet断点看一下你的ajax请求是否正常发送到后台,同时也F12打开网页控制台,看看有没有错误之类的,写代码总得学着调试啊,就算把代码发出来别人也未必能帮你找到错误的
好的谢谢,我现在也是用调试,不过没有用断点,用的是传统的在关键地方打印的办法,现在解决了,谢谢,我回去看看怎么通过断点来调试
usecf 2019-07-31
  • 打赏
  • 举报
回复
调试打印下你返回的data是啥
瘦死的黑骆驼 2019-07-31
  • 打赏
  • 举报
回复
servlet断点看一下你的ajax请求是否正常发送到后台,同时也F12打开网页控制台,看看有没有错误之类的,写代码总得学着调试啊,就算把代码发出来别人也未必能帮你找到错误的
zahuilg10 2019-07-30
  • 打赏
  • 举报
回复
引用 1 楼 Zyra 的回复:
第16行语法
是js的16行吗?不好意思,这个没注意,但不是这个问题导致的,之前我直接 alert(data)也参数不出来数据
Zyra 2019-07-30
  • 打赏
  • 举报
回复
第16行语法

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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