兼容性IE的Ajax原生Javascript代码

 版权声明:欢迎转载,转载请注明原地址,谢谢! https://blog.csdn.net/u012643122/article/details/79688215

说明:异步会立即返回,不阻塞后面代码执行。同步恰恰相反。

同步调用get

 1 function send_request(){
 2     var xmlhttp = null;
 3     if (window.XMLHttpRequest){
 4         xmlhttp=new XMLHttpRequest();
 5     }else if (window.ActiveXObject){
 6         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 7     }
 8     if (xmlhttp!=null){
 9         var requrl = 'user/save.do?username=zhangsan&age=10';//url可以是相对路径也可以是绝对,get需要将参数放在url里,如果参数有中文先调用encodeURIComponent("username=张三&age=10")编一下码
10         xmlhttp.open( "GET",requrl,false);//第一个参数指明访问方式,第二次参数是目标url,第三个参数是“是否异步”,true表示异步,false表示同步
11         xmlhttp.send();
12         return xmlhttp.responseText
13     }else{
14         alert("您的浏览器不支持AJAX!");
15     }
16 };
View Code

异步调用get

 1   function send_request(){
 2       var xmlhttp = null;
 3       if (window.XMLHttpRequest){
 4           xmlhttp=new XMLHttpRequest();
 5       }else if (window.ActiveXObject){
 6           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 7       }
 8       if (xmlhttp!=null){
 9           var requrl = 'user/save.do?username=zhangsan&age=10';//url可以是相对路径也可以是绝对,get需要将参数放在url里,如果参数有中文先调用encodeURIComponent("username=张三&age=10")编一下码
10          xmlhttp.open( "GET",requrl,true);//第一个参数指明访问方式,第二次参数是目标url,第三个参数是“是否异步”,true表示异步,false表示同步
11          xmlhttp.onreadystatechange=function(){//异步需要指定回调函数
12              if (xmlhttp.readyState==4 && xmlhttp.status==200){//readyState为4,表示ajax请求已经完成,status是目标url返回的http状态码,200表示服务器响应成功
13              var d= xmlhttp.responseText; 
14              // 处理返回结果 
15            } 
16          }
17          xmlhttp.send();
18      }else{
19          alert("您的浏览器不支持AJAX!");
20      }
21  };
View Code

异步调用post

 1 function send_request(){
 2     var xmlhttp = null;
 3     if (window.XMLHttpRequest){
 4         xmlhttp=new XMLHttpRequest();
 5     }else if (window.ActiveXObject){
 6         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 7     }
 8     if (xmlhttp!=null){
 9         var requrl = 'user/save.do';//url可以是相对路径也可以是绝对
10         xmlhttp.open( "POST",requrl,true);//第一个参数指明访问方式,第二次参数是目标url,第三个参数是“是否异步”,true表示异步,false表示同步
11         xmlhttp.onreadystatechange=function(){//异步需要指定回调函数
12             if (xmlhttp.readyState==4 && xmlhttp.status==200){//readyState为4,表示ajax请求已经完成,status是目标url返回的http状态码,200表示服务器响应成功
13             var d= xmlhttp.responseText; 
14             // 处理返回结果 
15           } 
16         }
17         xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //post需要设置Content-type,防止乱码
18         xmlhttp.send("username=zhangsan&age=10");//post需要将参数放在send方法,当然参数放在url也还是可以的,但不好
19     }else{
20         alert("您的浏览器不支持AJAX!");
21     }
22 };
View Code

 

posted @ 2019-03-19 16:55  晒晒  阅读(520)  评论(0)    收藏  举报