我的js代码: 表单那里的代码: 还有action中的代码:/* check student part */ out = ServletActionContext.getResponse().getWriter(); } |
|
你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方法 |
|
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({ } 看下我的,参考下 |
|
这就AJAX的问题,和SSH没啥关系
|
|
求大神!来个ajax和ssh的登录实例!
|
|
data你的Ajax请求属性data和回调函数function(data)重名了,可以回调函数的data改为result,约定俗成嘛
|
|
改了也是没用啊,我觉得是ajax那段代码根本就没有被调用。。。我是菜鸟,请大家详细点。。。谢谢
|
|
姓名:<input type=”text” name=”sname” />
密码:<input type=”text” name=”password” /> 改成 姓名:<input type=”text” name=”model.sname” /> 密码:<input type=”text” name=”model.password” /> 你model对象没有注入 |
|
20分 |
单步进你的后台,看action里面哪里出错,或者你前面的ajax根本没进入到后台的action?
|
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代码 |
|
document.getElementById(“loginStudent”).submit(); form 提交了,就不执行后面的Ajax了
|
|
20分 |
把返回值去掉,直接返回void
|
这么简单的问题也问 稍微动下脑筋就搞定了
|
|
最后我自己弄好了。因为ajax验证之后不会跳转页面,所以需要在回调函数那里再submit一次,谢谢各位了。
|