「已注销」 2016-08-23 09:00 采纳率: 0%
浏览 1318
已结题

Ajax异步处理跳转不了

这是第一个jsp页面的代码,可以正常进入AjaxServlet

var xmlHttpRequest=null;
 //页面加载
    window.onload=function(){
        //获取按钮对象
        var but=document.getElementById("login");
        but.onclick=function(){
            //处理ajax
            //对浏览器判断
            if (window.ActiveXOject) {
                //IE
                xmlHttpRequest=new ActiveXOject(Microsoft.XMLHTTP);
            }else{
                xmlHttpRequest=new XMLHttpRequest();
            }
            //获取内容
            var loginname=document.getElementById("loginname").value;
            var upassword=document.getElementById("upassword").value;
            var inputRand=document.getElementById("inputRand").value;
            //打开链接
            xmlHttpRequest.open("get","AjaxServlet?loginname="+loginname+"&upassword="+upassword+"&inputRand="+inputRand+"&type=1"+"&random="+new Date().getTime(),true);
            //回调函数
            xmlHttpRequest.onreadystatechange=AjaxCallBack;
            //发送
            xmlHttpRequest.send(null);
        }
    };

    //创建回调函数
    function AjaxCallBack(){
        if (xmlHttpRequest.readyState==4) {
            if (xmlHttpRequest.status==200) {
                //读取后台回传的数据
                var content=xmlHttpRequest.responseText;
                var divObject=document.getElementById("resultdiv");
                divObject.innerHTML=content;
                if (content=="登录成功") {
                    window.location.href="index.jsp";
                }
            }
        }
    }

这是第二个jsp页面的代码,执行之后没有进入后台AjaxServlet,路径是没有错的
而且不光是进不了AjaxServlet,把URL改成随便的一个JSP页面或者Servlet也跳不过去

var xmlHttpRequest=null;
 //页面加载
window.onload=function(){
    //获取按钮对象
    var but=document.getElementById("OK");
    but.onclick=function(){
        //处理ajax
        //对浏览器判断
    if (window.ActiveXOject) {
        //IE
        xmlHttpRequest=new ActiveXOject(Microsoft.XMLHTTP);
    }else{
        xmlHttpRequest=new XMLHttpRequest();
    }
        //获取内容
        var oldpassword=document.getElementById("oldpassword").value;
        var newpassword=document.getElementById("newpassword").value;
        var renewpassword=document.getElementById("renewpassword").value;
        //打开链接
        //alert("执行到这里");
        xmlHttpRequest.open("get","../../AjaxServlet?oldpassword="+oldpassword+"&newpassword="+newpassword+"&renewpassword="+renewpassword+"&type=2",true);
        //回调函数
        xmlHttpRequest.onreadystatechange=AjaxCallBack;
        //发送
        xmlHttpRequest.send(null);
    }
};
//创建回调函数
function AjaxCallBack(){
    if (xmlHttpRequest.readyState==4) {
    if (xmlHttpRequest.status==200) {
        //读取后台回传的数据
        var content=xmlHttpRequest.responseText;
        var divObject=document.getElementById("resultdiv");
        divObject.innerHTML=content;

    }
}
}

我是初学者,如果是写法不对,想请教一下怎样在一个项目里面的多个JSP页面实现异步处理

  • 写回答

3条回答 默认 最新

  • 星之火燎原 2016-08-23 09:13
    关注

    if (xmlHttpRequest.status==200) {}
    和if (xmlHttpRequest.readyState==4) {}
    这两个判断写反了,望采纳!

    评论

报告相同问题?

悬赏问题

  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误