君君要上天
2014-12-04 14:03
采纳率: 66.7%
浏览 1.6k

求大神解决AJAX问题,小弟快哭了。。。。

注册界面的表单验证,使用ajax post传输,可是总是返回not found。同样的代码我用于做其他的功能都没有问题。求大神帮忙啊,搞了一晚上了老是搞不定

 <script type="text/javascript">


    /* 
    ajax 的几个步骤: 
    1、建立XmlHttpRequest对象 
    2、设置回调函数 
    3、使用Open方法建立与服务器的连接 
    4、向服务器发送数据 
    5、在回调函数中针对不同响应状态进行处理 
*/  
    var xmlHttp;  
    function createXMLHttpRequest(){   //1建立XmlHttpRequest对象  

        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlHttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
          } 
    }  

    function showMes(){     //2设置回调函数  
        if(xmlHttp.readyState==4){  //数据接收完成并可以使用  
            if(xmlHttp.status==200){ //http状态OK  
            //5、在回调函数中针对不同响应状态进行处理  
                alert(xmlHttp.responseText); //服务器的响应内容  
            }else{  
                alert("出错:"+xmlHttp.statusText);  //HTTP状态码对应的文本  
            }  
        }  
    }  
    /** 
    //这是GET方法传送 
    function getMes(){ 
        createXMLHttpRequest(); 
        var txt = document.getElementById("txt").value; 
        var url="servlet/AjaxServlet?txt="+txt; 
        url = encodeURI(url);  //转换码后再传输 
        xmlHttp.open("GET",url,true);  //3使用Open方法建立与服务器的连接 
        xmlHttp.onreadystatechange=showMes;  
        xmlHttp.send(null); //4向服务器发送数据 
    } 
    */  
    /** 
    *这是post方法 
    */  
    function postMes(){  
        createXMLHttpRequest();  
        var url = "servlet/RegisterServlet";  
        var params="username="+$('#username').val()+"&password="+$('#password').val()+
            "&confirmpassword="+$('#confirmpassword').val()+
            "&realname="+$('#realname').val()+
            "&telephone="+$('#telephone').val()+
            "&email="+$('#email').val()+
            "&QQ="+$('#QQ').val()+
            "&identy="+$('input[name="identy"]:checked').val();
         alert(url);
        xmlHttp.open("POST",url,true);  
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");  
        xmlHttp.send(params);  
        xmlHttp.onreadystatechange = showMes;  

    }  

    </script>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 君君要上天 2014-12-04 14:04

    这段代码从其他地方搬过来时,只改动了url和params

    点赞 打赏 评论
  • Lyndon_xl 2014-12-04 14:58

    1、调试 js
    2、调试后台程序

    反正就是调试、先找到具体哪里出错误...

    点赞 打赏 评论
  • 蜜友 2014-12-04 16:10

    晕哦,换jquery吧,几行代码就搞定你这么多的东西了。

    点赞 打赏 评论
  • 夜之子 2014-12-05 01:42

    var url = "servlet/RegisterServlet"; 改成 var url = "/servlet/RegisterServlet"; 试下,少了个斜杠吧

    点赞 打赏 评论
  • school11 2014-12-05 02:14

    先确定程序 走到哪了,没有走到服务端的话,就是前端POST那段代码的问题,走到服务端的话,那就是服务端的问题,只要学会用服务端DEBUG模式,和浏览器端的调试工具这些都不是大问题。

    点赞 打赏 评论
  • KK3K2005 2014-12-08 05:47

    那个点出现 not found

    如果是后台返回错误的话
    应该检查访问的url 和 后台代码

    alert(url);

    这个url 直接在浏览器地址栏输入 可以直接看返回数据

    点赞 打赏 评论

相关推荐 更多相似问题