关于AJAX初始化XMLHttpRequest对象的问题..
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于AJAX初始化XMLHttpRequest对象的问题..相关的知识,希望对你有一定的参考价值。
现在创建XMLHttpRequest对象,进行初始化的时候.还用不用考虑跨浏览器的问题?..如果要考虑的话..我用的是Explorer 8.0,还装了360浏览器3.5..应该如何初始化该对象?..请留下代码..能跨越的浏览器越多越好..
参考技术A function GetXmlHttpObject()var xmlHttp=null;
try
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
catch (e)
// Internet Explorer
try
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;
这是标准的w3c里面的xmlhttprequest对象的创建
AJAX - onreadystatechange 事件(XMLHttpRequest对象的属性)
XMLHttpRequest 对象的三个重要的属性:
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState |
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status |
200: "OK" 404: 未找到页面 |
示例:
1 xmlhttp.onreadystatechange=function() 2 { 3 if (xmlhttp.readyState==4 && xmlhttp.status==200) 4 { 5 document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 6 } 7 }
当 readyState 等于 4 且状态为 200 时,表示响应已就绪(注释:onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。)
使用 Callback 函数
callback 函数是一种以参数形式传递给另一个函数的函数。
示例:
1 <script type="text/javascript"> 2 var xmlhttp; 3 function loadXMLDoc(url,cfunc) /*传递参数,第一个参数表示url地址;第二个参数表示要执行的函数*/ 4 { 5 if (window.XMLHttpRequest) 6 {// code for IE7+, Firefox, Chrome, Opera, Safari 7 xmlhttp=new XMLHttpRequest(); 8 } 9 else 10 {// code for IE6, IE5 11 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 12 } 13 xmlhttp.onreadystatechange=cfunc; /*调用函数*/ 14 xmlhttp.open("GET",url,true); 15 xmlhttp.send(); 16 } 17 function myFunction() 18 { 19 loadXMLDoc("/ajax/test1.txt",function() 20 { 21 if (xmlhttp.readyState==4 && xmlhttp.status==200) 22 { 23 document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 24 } 25 }); 26 } 27 </script>
以上是关于关于AJAX初始化XMLHttpRequest对象的问题..的主要内容,如果未能解决你的问题,请参考以下文章