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有问题那就考虑一下是不是缓存了或者兼容性的问题。先清理一下缓存试试。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序