日期:2014-05-16  浏览次数:20377 次

一个简单的XMLHTTP请求为什么在IE6正常,FF就没反映呢
<script language="javascript">
var xmlhttp = false;
function init(){ 
window.setInterval(startRequest, 2000);
return false;
}

function createXMLHttpRequest() {
if (window.ActiveXObject){
try{
xmlhttp=new ActiveXObject(\"Msxml2.XMLHTTP\");
}
catch(e){
try{
xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");
}
catch(e){}
}
} else if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}

//异常,创建对象失败
if(!xmlhttp){
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}

function startRequest() {
var url = "myurl";
createXMLHttpRequest();
xmlhttp.open("GET", url, false);
xmlhttp.send(null);
xmlhttp.onreadystatechange = processRequest();
}
function processRequest() {
alert("readyState:"+xmlhttp.readyState+""); //得到的总是1!!
if (xmlhttp.readyState == 4){
alert(xmlhttp.status);
if (xmlhttp.status == 200){
feedlist();


}
function feedlist() {
var xmlString = xmlhttp.responseXML.xml;
document.getElementById("show_area").innerHTML = xmlString;
}
</script>

------解决方案--------------------
xmlhttp.send(null);
xmlhttp.onreadystatechange = processRequest();
===>>>
xmlhttp.onreadystatechange = processRequest;
xmlhttp.send(null);
------解决方案--------------------
你不是用异步方式?
xmlhttp.open("GET", url, false);
==>
xmlhttp.open("GET", url, true);
试试