首页 > 其他 > 详细

最基础的从服务器获得数据

时间:2017-01-04 22:48:51      阅读:254      评论:0      收藏:0      [点我收藏+]

案列一:从服务器的得到输出的数据

Jsp界面 

    <script type="text/javascript" src="test.js"></script>
  <body>
      <form action="AjaxServlet">   //这里提交到哪里和下面的和谁连接没啥关系,这里改成AjaxServlet1
          <input type="button" value="ok" id="ok">    //下面不变照样能够得到一样结果
      </form>
  </body>

AjaxServlet界面

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   
        System.out.println("connection succces");
        response.getWriter().print("connection ok");  //这里为什么是write因为下面是responseText
}

Js界面

/**
 *  Ajax建立与服务器端的连接  接收服务器的请求 处理服务器返回的数据
 *      开发步骤: 
 *         1.创建XMLHttpRequest对象
 *         2.打开和服务器的连接
 *         3.发送数据
 *         4.接收服务器端的响应
 */
/**
 * 1.创建XMLHttpRequest 对象
 */
function createXMLHttpRequest() {       //万能模板

    var XMLHttpReq;

    if (window.XMLHttpRequest) {   // 是Mozilla浏览器

        XMLHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject()) { // IE浏览器
        try {
            XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); //因为ie也会出现不兼容所以抛异常
        } catch (e) {
            XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");  //微软的,记住就好
        }
}
    return XMLHttpReq;
}


    //ok按钮点击时触发事件,这里我和之前所想的思维都不一样,因为正常情况window.onload一旦加载下面没有点击onclick,那么该方法不执行,然而后面当你点击按钮时,因为已经加载结束了,按道理来讲就算里面为onclick这个方法也不会执行,因为你在window.onload里面,大方法都没有执行,方法里面的方法是不会执行的,但这里还是触发了时间,这也说明老师说的window.onload除了有加载情况下,还有监听的作用,一点触发事件就会触发该方法,这点要明白,同时如果当你去window.onload=function,这个外层的方法,就算你触发事件也不会有反应,因为 document.getElementById("ok")是要放在方法里,而不是放在外面。

    window.onload=function(){       //加载时运行,同时具有监听的作用
     document.getElementById("ok").onclick=function(){ //通过按钮触发事件
          //1.创建XMLHttpRequest对象 
         var xmlReq=createXMLHttpRequest(); 
         //2.打开和服务器端的连接
         xmlReq.open("GET","AjaxServlet",true);//有GTE和POST方法,中间代表连接路径,true代表异步
         //3.发送数据
         xmlReq.send(null); //因为采用的是get方法,所以方法为null
         //4.接收服务器的响应
         xmlReq.onreadystatechange=function(){
             if(xmlReq.readyState==4){//判断对象状态是否完成
                if(xmlReq.status==200){     //信息已经成功返回
                     var xmltext =xmlReq.responseText;  //得到AjaxServlet往外输出的数据
                     alert("data-"+xmltext);  //输出结果:data-connection ok
             }
}
}
}
}

 

 

最基础的从服务器获得数据

原文:http://www.cnblogs.com/qdhxhz/p/6250365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!