• 原生态Ajax


    (JQuery Ajax : http://jun1986.iteye.com/blog/1399242 和 http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html)

    返回方式:

      网页片段

      javascript片段

      数据 (JSON、XML)

    	<script type="text/javascript">
    	   
    	   //XHR的状态
    	   var XHR_STATE_UNINITIALIZED=0;  //XHR.open()还没被调用
    	   var XHR_STATE_LOADING=1;        //XHR.open()已经被执行
    	   var XHR_STATE_LOADED=2;         //XHR.send()已经被执行
    	   var XHR_STATE_INTERACTIVE=3;    //XHR发觉server的数据已经返回了一部分
    	   var XHR_STATE_COMPLETE=4;       //XHR发现server已经对请求作出响应,并返回了所有内容,操作结束.
    	   
    	   //获得XMLHttpRequest对象
    	   function getXMLHttpRequest(){
    	     var xhr=null;
    	     if(window.XMLHttpRequest){
    	        xhr=new XMLHttpRequest(); // for firefox/IE7
    	       // alert("firefox");
    	     }else {
    	        xhr=new ActiveXObject("Microsoft.XMLHTTP"); // for IE.
    	      //  alert("IE");
    	     }
    	     return xhr;
    	   }
    	   
    	   /**
    	    xhr: xhr object
    	    url:
    	    */
    	   function sendRequest(url)
    	   {
    	      var xhr=getXMLHttpRequest(); //got a XHR instance.
    	      
    
    	      
    	      xhr.onreadystatechange=function(){
    	                               var state=xhr.readyState;
    	                               if(state==XHR_STATE_COMPLETE){
    	                                  var status=xhr.status; //获得HTTP STATUS
    	                                  if(status>=200 && status<=299){
    	                                     parseCompletedResponse(xhr);
    	                                  }else
    	                                     alert("xhr request error!");
    	                               }else{
    	                                    document.getElementById('result').innerText="please wait...stateid:"+state;
    	                                    //alert("please wait...stateid:"+state);
    	                               }
    	                             };  
    	      
    	     /*
    	     xhr.open(methodtype,url,isAsynchronous); 
    	     methodType: GET/POST/...
    	     url:
    	     isAsynchronous: 如果为true,则为异步.
    	     
    	     xhr.send
    	                
              xhr.setRequestHeader(
    	          'Content-type',
    	          'application/x-www-form-urlencoded'
    	      );*/  
    	     // alert("xhr="+xhr+",url="+url);             
    	      xhr.open('GET',url,true);	      
    	      xhr.send(null);
    	   }
    	   
    	   
    	   // dom操作, 把得到响应内容写入对应位置
    	   function parseCompletedResponse(xhr)
    	   {
    	       var storeDiv=document.getElementById('result');
    	       storeDiv.innerHTML=xhr.responseText;
    	   }
    	   
    	   function getUrl()
    	   {
    	     //document.getElememtById -> object
    	     //document.getElementsByName -> object[]
    	      var num=document.getElementsByName("num")[0].value;
    	      return "calc?num="+encodeURI(num);
    	   }
    	   
    	   
    	</script>
    
    
    
    <body>
        求平方<br>
        <form action="" method="post">
           数字:<input type="text" name="num"/>
              <button onclick="sendRequest(getUrl());">计算</button>
          <div id="result"/>
        </form>
        <a onclick="alert(getXMLHttpRequest());" href="#">test XHR</a>
        <a onclick="alert(getUrl());" href="#">Generate Url</a>
      </body>
    

      

  • 相关阅读:
    Centos安装JIRA 7.13版本(自己在官方下载最新版)以及破解
    5. iphone 的:active样式
    4. css事件
    3. css百度制作字体图片
    8. react 常用组件
    3. JS生成32位随机数
    JS大小转化B KB MB GB的转化方法
    7.关于一些dom&&获取元素
    加密问题
    2.hover的使用
  • 原文地址:https://www.cnblogs.com/QinH/p/4487060.html
Copyright © 2020-2023  润新知