ajax中的xmlHttp.readyState == 1这步在chrome浏览器中没有执行怎么回事?
ajax代码:
JScript code
<SCRIPT type="text/javascript">
<!--
var xmlHttp = "";
function creatXMLHttpRequest() {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlHttp =new XMLHttpRequest();
}
else if(window.ActiveXObject) { // IE
xmlHttp =new ActiveXObject("Msxml2.XMLHTTP");
}
}
function startRequest() {
var queryString;
var domain = document.getElementById('domain').value;
queryString = "domain=" + domain;
creatXMLHttpRequest();
xmlHttp.open("POST","?action=do","true");
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(queryString);
}
function handleStateChange() {
if(xmlHttp.readyState == 1) {
document.getElementById('result').style.cssText = "";
document.getElementById("result").innerHTML="正在查询……";
}
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
document.getElementById('result').style.cssText = "";
var allcon = xmlHttp.responseText;
document.getElementById('result').innerHTML = allcon;
}
}
}
//-->
</SCRIPT>
document.getElementById("result").innerHTML="正在查询……"; //主要是这行在ie下面执行时显示,但是在chrome浏览器下一直不显示“正在查询……”,有时候等待一两秒都是如此
------解决方案-------------------- function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
document.getElementById('result').style.cssText = "";
var allcon = xmlHttp.responseText;
document.getElementById('result').innerHTML = allcon;
}
}else{
document.getElementById('result').style.cssText = "";
document.getElementById("result").innerHTML="正在查询……";
}
}
这样写呢
------解决方案--------------------
xmlHttp.readyState变化很快,可能就没有看到就更新了
你可以
function startRequest() {
var queryString;
var domain = document.getElementById('domain').value;
queryString = "domain=" + domain;
creatXMLHttpRequest();
xmlHttp.open("POST","?action=do","true");
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(queryString);
document.getElementById('result').style.cssText = "";
document.getElementById("result").innerHTML="正在查询……";
}