我正在使用ajax脚本在php脚本运行时在iframe中显示加载动画。一旦php脚本完成运行,ajax加载脚本就会加载完成的php脚本输出。
更新:我已通过替换:
解决了这个问题url='action.php?run=go';
http.open("GET",url, true);
使用:
http.open( "GET", "go.php?random=" + Math.random(), true);
我读到IE缓存每个请求,并不喜欢多次发送请求。
<!DOCTYPE html>
<script type="text/javascript">
document.write('<link rel="stylesheet" href="../css/loading.css" type="text/css" /><div id="loading"><br><center>Please Wait...<br><br><img src="loader.gif"/><center></div>');
//Ajax Function
function getHTTPObject() {
var xmlhttp;
if (window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
} else {
xmlhttp = false;
}
if (window.XMLHttpRequest) {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
//HTTP Objects..
var http = getHTTPObject();
//Function which we are calling...
function AjaxFunction() {
url = 'action.php?run=go';
http.open("GET", url, true);
http.onreadystatechange = function () {
if (http.readyState == 4) {
//Change the text when result comes.....
document.getElementById("loading").innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
</head>
<body onload="AjaxFunction()">
</body>
答案 0 :(得分:0)
在测试ActiveXObject之前尝试xmlhttp = new XMLHttpRequest();
内容。后者用于与旧版IE(我相信IE 5和6)的兼容性。但是,较新版本的IE支持使用 XMLHttpRequest 对象。您也可以尝试正确缩进以使代码可读。
另外,既然你提到你是JS&amp; AJAX,你真的应该考虑使用jQuery,这使得使用AJAX非常容易。我个人使用jQuery以及我自己的AJAX函数,因此,在实践中,你正在做的事情非常好。但是如果你宁愿没有麻烦,那么jQuery就是你要走的路。
答案 1 :(得分:-2)
你能用jQuery吗?它有$ .ajax所需的ajax所有锅炉电镀