兼容性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 };
异步调用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 };
异步调用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 };