创建兼容各浏览器的XMLHttpRequest对象

function createXmlHttpRequestObject() { // will store the reference to the XMLHttpRequest object var xmlHttp; // this should work for all browsers except IE6 and older try { // try to create XMLHttpRequest object xmlHttp = new XMLHttpRequest(); } catch(e) { // assume IE6 or older var XmlHttpVersions = new Array(“MSXML2.XMLHTTP.6.0”, “MSXML2.XMLHTTP.5.0”, “MSXML2.XMLHTTP.4.0”, “MSXML2.XMLHTTP.3.0”, “MSXML2.XMLHTTP”, “Microsoft.XMLHTTP”); // try every prog id until one works for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) { try { // try to create XMLHttpRequest object xmlHttp = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} } } // return the created object or display an error message if (!xmlHttp) alert(“Error creating the XMLHttpRequest object.”); else return xmlHttp; } 用此函数来创建兼容各浏览器的XMLHttpRequest对象。注意,在每次发送Ajax请求前要重新初始化XMLHttpRequest对象(也就是重新调用此函数赋给一个布局变量),否则将会使用原来的对象,导致在IE7下Ajax返回值有错误。