怎么用jquery和ssh实现验证用户登录!

yue_power 2014-07-21 03:53:22
我的js代码:
<script>
function checkStudent(){

$.ajax({
cache: true,
type: "POST",
url:"loginAction!checkStudent",
data:$('#loginStudent').serialize(),// 你的formid
async: false,

success: function(data) {
document.getElementById("loginStudent").submit();
var i = parstInt(data);
if(i == 1){
alert("success");
window.location.href="student.jsp";
}
else if (i==0){
alert("账号或密码错误");
}

}
});
}
</script>

表单那里的代码:
<div align="center">
<form id="loginStudent">
姓名:<input type="text" name="sname" />
密码:<input type="text" name="password" />
<input type="button" value="提交" id="btn" onclick="checkStudent()" />
</form>


还有action中的代码:/* check student part */
public String checkStudent() throws IOException{

out = ServletActionContext.getResponse().getWriter();
List<Student> students = loginService.checkLoginStudent(model.getSname(), model.getPassword());
if(students.size()>0){
Student stu = students.get(0);
id = stu.getStudentId();
System.out.println(id);
out.write("1");
out.flush();
out.close();
return "student";
}
else {
out.write("0");
out.flush();
out.close();
return "loginStudent";

}
}
试了一个下午!就是不行!无语了,求各位帮忙!
...全文
401 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yue_power 2014-07-22
  • 打赏
  • 举报
回复
改了也是没用啊,我觉得是ajax那段代码根本就没有被调用。。。我是菜鸟,请大家详细点。。。谢谢
a137655624 2014-07-22
  • 打赏
  • 举报
回复
document.getElementById("loginStudent").submit(); form 提交了,就不执行后面的Ajax了
yue_power 2014-07-22
  • 打赏
  • 举报
回复
js代码: function check(){ alert("fda"); $.ajax({ cache:true, url:"loginAction!checkStudent", type:"POST", data:$("#loginStudent").serializa(), async:false, error:function(request){ alert("error"); }, success:function(request){ alert("success!"); } }); html代码 姓名:<input type="text" name="sname" id="model.sname"/> 密码:<input type="text" name="password" id="model.password"/> <!-- <input type="submit" value="登录" /> --> <input type="button" value="登录" id="btn" /> </form> <script> $("#btn").click( function(){ alert("hi"); check(); //document.getElementById("loginStudent").submit(); } ); 可是点击之后调用chenck函数时发现似乎没有调用ajax里面的代码! <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js">这是我在网上引入的jquery库! 求指教一下!困扰几天了。。。菜鸟伤不起啊!。。
qingyuan18 2014-07-22
  • 打赏
  • 举报
回复
单步进你的后台,看action里面哪里出错,或者你前面的ajax根本没进入到后台的action?
luoyefeiwu1 2014-07-22
  • 打赏
  • 举报
回复
姓名:<input type="text" name="sname" /> 密码:<input type="text" name="password" /> 改成 姓名:<input type="text" name="model.sname" /> 密码:<input type="text" name="model.password" /> 你model对象没有注入
yue_power 2014-07-22
  • 打赏
  • 举报
回复
最后我自己弄好了。因为ajax验证之后不会跳转页面,所以需要在回调函数那里再submit一次,谢谢各位了。
whhmkj 2014-07-22
  • 打赏
  • 举报
回复
这么简单的问题也问 稍微动下脑筋就搞定了
lovemusic167 2014-07-22
  • 打赏
  • 举报
回复
把返回值去掉,直接返回void
七脉 2014-07-21
  • 打赏
  • 举报
回复
data你的Ajax请求属性data和回调函数function(data)重名了,可以回调函数的data改为result,约定俗成嘛
yue_power 2014-07-21
  • 打赏
  • 举报
回复
求大神!来个ajax和ssh的登录实例!
eeight 2014-07-21
  • 打赏
  • 举报
回复
这就AJAX的问题,和SSH没啥关系
lizhen_1130 2014-07-21
  • 打赏
  • 举报
回复
public void checkLogin(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){ LoginActionForm loginForm=(LoginActionForm) form; String username=loginForm.getUsername(); String password=loginForm.getPassword(); JSONObject json=new JSONObject(); LoginPB lp=new LoginPB(); int errCode=lp.getErrCode(username, password); if(errCode!=0){ json.put("success", true); json.put("code", errCode); }else{ json.put("success", false); } try { this.outputJson(response,json); } catch (Exception e) { e.printStackTrace(); } } $.ajax({ url:ctx+"/loginAction.do", type:"post", dataType:"json", beforeSend:beforeSend(), data:{ method:"checkLogin", username:username, password:password }, timeout:30000, error:function(data){ complete(); alert("ERROR:登陆失败!"); }, success:function(result,status){ complete(); if(result.success){ document.getElementById("errCode").value=result.code; document.forms[0].action=ctx+"/loginAction.do?method=login"; document.forms[0].submit(); }else{ alert("用户名或密码错误!"); } } }); 看下我的,参考下
lgc8023 2014-07-21
  • 打赏
  • 举报
回复
你debug了吗。我觉得是你下面这行出问题了,model为null List<Student> students = loginService.checkLoginStudent(model.getSname(), model.getPassword()); 你这一行这样写:List<Student> students = loginService.checkLoginStudent(this.sname, this.password); 前提是sname和password这两个参数设置了set、get方法

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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