javascript的ajax请求正确写法(兼容多浏览器)

代码如下:

 

function createXMLHttp() { var XmlHttp; if (window.ActiveXObject) { var arr=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; for(var i=0;i<arr.length;i++) { try { XmlHttp = new ActiveXObject(arr[i]); return XmlHttp; } catch(error) { } } } else { try { XmlHttp=new XMLHttpRequest(); return XmlHttp; } catch(otherError) { } } } function xmlPost() { var xmlHttp = createXMLHttp(); var url= 'TicketHandler.ashx?t=' + new Date();    xmlHttp.open('GET',url,true);      xmlHttp.onreadystatechange = function() {      if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { var result = xmlHttp.responseText; if (result && result.length > 0){ result = result.split(','); var left; for (var i=0; i<result.length; i++){ left = document.getElementById('left_' + result[i].split(':')[0]); if (left){ left.innerHTML = result[i].split(':')[1]; } } } } } xmlHttp.send(''); }

 

很多人经常遇到在Firefox浏览器下不work的时候,请注意上述代码的大小写,比如:

xmlHttp.readyState == 4 && xmlHttp.status == 200 和 xmlHttp.responseText ,如果大小写有误,那么在Firefox浏览器下很可能会出现undefine的错误。

你可能感兴趣的:(JavaScript,Ajax,function,浏览器,XMLhttpREquest,firefox)