javascript的ajax请求正确写法(兼容多浏览器)
2013-09-21 17:28
531 查看
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请求正确写法(兼容多浏览器)
- JavaScript的Ajax数据请求与浏览器兼容
- 原生js的ajax请求兼容写法
- 编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
- js与jQuery实现的兼容多浏览器Ajax请求实例
- js与jQuery实现的兼容多浏览器Ajax请求实例
- 解决ajax跨域请求浏览器兼容问题
- 以Base64字符串形式上传文件——在web浏览器端使用原生Javascript及Ajax读取本地文件并发送请求到服务器
- javascript兼容各种浏览器的异步请求
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- javascript屏蔽Ctrl+s,F1,F3各浏览器兼容写法
- AJAX方法中提交请求,target="_blank" 不能正确打开新的浏览器窗口
- 编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
- css和javascript浏览器兼容写法总结
- javascript在大部分浏览器上兼容的事件代码写法
- Javascript多种浏览器兼容写法分析第1/3页
- 兼容不同浏览器的Ajax 写法
- firefox(火狐)与IE Chrome浏览器兼容的javascript和CSS写法
- AJAX编程(异步/XMLHttpRequest/API详解/GET和POST请求的差异/创建浏览器内建对象的兼容写法)
- 谈谈JavaScript中浏览器兼容问题的写法小议