宝马娱乐在线城-宝马娱乐在线

来自 互联网络 2019-11-19 20:48 的文章
当前位置: 宝马娱乐在线城 > 互联网络 > 正文

宝马娱乐在线城ajax代码及简单封装

如何创建ajax对象并兼容多个浏览器,创建ajax对象多个

这篇文章主要介绍了如何创建ajax对象并兼容多个浏览器,需要的朋友可以参考下

<script> 
function createAjax(){ 
var request=false; 
//window对象中有XMLHttpRequest存在就是非IE,包括(IE7以上版本) 
if(window.XMLHttpRequest){ 
request=new XMLHttpRequest(); 
if(request.overrideMimeType){ 
request.overrideMimeType("text/xml"); 
} 
//window对象中有ActiveXObject属性存在就是IE 
}else if(window.ActiveXObject){ 
var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; 
for(var i=0; i<versions.length; i++){ 
try{ 
request=new ActiveXObject(versions[i]); 
if(request){ 
return request; 
} 
}catch(e){ 
request=false; 
} 
} 
} 
return request; 
} 
var ajax=createAjax(); 
alert(ajax); 
</script>

var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //创建XMLHTTP对象,考虑兼容性

怎创建通用的AJAX对象

判断服务器是否支持ajax
function tel() {
var tel = false;
try {
宝马娱乐在线城,tel = new XMLHttpRequest();
} catch(e) {
//针对ie浏览器
try {
tel = new ActiveXObject('Msxml2.XMLHTTP');//ie8
} catch(e) {
try {
tel = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {
alert('你的浏览器不支持ajax');
}
}
}
return tel;
}
方法二:
function tel() {
var tel = false;
if(window.XMLHttpRequest) {
tel = new XMLHttpRequest();
} else {
tel = new window.ActiveXObject('Microsoft.XMLHTTP');
}
return tel;
}  

            xmlhttp.open("POST", "AJAXTest.ashx?" + "i=5&j=10", true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。这里还没有发出请求

js ajax setrequestheader方法的浏览器兼容性问题

xmlhttp 是如何创建的?
应该是你在火狐中,创建的xmlhttp对象,没有成功。只采用IE下的创建方式
在IE与火狐中,创建xmlhttp对象的方法是不一样的,现在给你个方法,用来创建这个对象,你可以试试:
function createxmlhttp(){//创建xmlhttp对象
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlhttp = false;
}
}
if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType('text/html');//设置MiME类别
}
}
return xmlhttp;
}

然后在你的AJAX方法中这样调用:
var xmlhttp= createxmlhttp();
if(!xmlhttp){
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

以上是我的AJAX实现方法,经测试,火狐/IE 及其他浏览器 都好用
有问题在追问  

http://www.bkjia.com/AJaxjc/867227.htmlwww.bkjia.comtruehttp://www.bkjia.com/AJaxjc/867227.htmlTechArticle如何创建ajax对象并兼容多个浏览器,创建ajax对象多个 这篇文章主要介绍了如何创建ajax对象并兼容多个浏览器,需要的朋友可以参考下 scr...

            xmlhttp.onreadystatechange = function ()

            {

                if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成)

                {

                    if (xmlhttp.status == 200) //如果状态码为200则是成功

                    {

                        alert(xmlhttp.responseText);

                    }

                    else

                    {

                        alert("AJAX服务器返回错误!");

                    }

                }

            }

//不要以为if (xmlhttp.readyState == 4) {在send之前执行!!!!

            xmlhttp.send(); //这时才开始发送请求

//发出请求后不等服务器返回数据,就继续向下执行,所以不会阻塞,界面就不卡了,这就是AJAX中“A”的含义“异步”。试着在ashx加一句Thread.Sleep(3000);

简单的ajax封装:

 function ajax(url,onsuccess,onfail)

        {

            var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');

            xmlhttp.open("POST", url, true);

            xmlhttp.onreadystatechange = function ()

            {

                if (xmlhttp.readyState == 4)

                {

                    if (xmlhttp.status == 200)

                    {

                        onsuccess(xmlhttp.responseText);

                    }

                    else

                    {

                        onfail(xmlhttp.status);

                    }

                }

            }

            xmlhttp.send(); //这时才开始发送请求

        }

//创建一个XMLHttpRequest对象 ,利用此对象与服务器进行通信 是AJAX技术的核心

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

function ajaxFunction(){

   var xmlHttp;

   try{ // Firefox, Opera 8.0+, Safari

        xmlHttp=new XMLHttpRequest();

本文由宝马娱乐在线城发布于互联网络,转载请注明出处:宝马娱乐在线城ajax代码及简单封装

关键词: