qq593467574 2016-08-19 02:51 采纳率: 25%
浏览 1127

ajax 登陆后修改密码的问题

自制了一个小系统,但是登陆后,修改密码却出现了问题。
使用修改后的密码会提示用户名或者密码错误,使用修改前的密码居然提示登录成功
但是无法进入主页..
数据库的密码是修改后的密码
修改后的密码重启tomcat都登录不了。。
登陆的AJAX代码

function login(){
        var userid = document.getElementById("userid").value;
        var password=document.getElementById("password").value;
        if(userid==""){
            document.getElementById("loginfailed").innerHTML = "<font color='red'>请填写用户ID</font>";
            }
        else if(password=="") {
            document.getElementById("loginfailed").innerHTML = "<font color='red'>请填写密码</font>";

            }
        else{
        var xhr = ajaxFunction();
        xhr.onreadystatechange = function(){
            if(xhr.readyState==4){
                if(xhr.status==200){
                    var data = xhr.responseText;        //获取文本
                    if(userid!=""){
                        alert(data);
                    if(data=="1"){
                        document.getElementById("loginform").submit();
                        document.getElementById("loginfailed").innerHTML = "登录成功";
                    }else{
                        document.getElementById("loginfailed").innerHTML = "<font color='red'>用户名或者密码错误</font>";
                    }
                    }
                }
            }
        }
        xhr.open("get","userloginAction?userid="+userid+"&password="+password,true);
        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xhr.send();
        }

    }`

action代码,里面的控制台输出一句都没执行,,但是,前台我alert的data值却改变了,,假如我输入的是修改后的密码就会是2,输入修改前的密码会是1

 public String execute(){  
        try{  
            System.out.println("zhelasai");
            String responseText="";  
            HttpServletRequest request=ServletActionContext.getRequest();  
            String userid=request.getParameter("userid"); 
            String password=request.getParameter("password"); 
            User u=new User();
            u.setUserid(userid);
            u.setPassword(password);
            Userdao userdao=new Userdao();
            System.out.println("zheli");
            List<User> l = userdao.checks(u);
            System.out.println(userid+"正在登录,密码为"+password);
            if(l.size()==0){   
                System.out.println("然而登录失败了");
                responseText="2";    
            }else{  
                System.out.println("登录成功了");
                responseText="1";  
            }  
            HttpServletResponse response=ServletActionContext.getResponse();      
            response.setContentType("text/html;charset=utf-8");   
            PrintWriter out=response.getWriter();    
            out.print(responseText);    
            out.flush();    
            out.close();    
        }catch(Exception e){  
            e.printStackTrace();  
        }  
        return null;  
    }

userdao.checks()的方法正常执行了。
。。。所以请教各位大神这个是什么问题

刚刚又测试了一下,发现可能是浏览器的问题?
我用火狐测试的话就没问题,用IE的话就会出现上述问题

  • 写回答

2条回答 默认 最新

  • Birds_Cerebrum 2016-08-19 04:01
    关注

    火狐没问题,IE有问题那就考虑一下是不是缓存了或者兼容性的问题。先清理一下缓存试试。

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作