好的,所以我遇到了这个问题,而且我对 Ajax 还不是很好,所以我真的不知道如何进行。
我有一个页面每 7 秒使用 Ajax 和 Javascript 运行一次刷新。每次刷新 Ajax 页面时,它都会从我的数据库中的 SQL 值中删除一个。当该值变为 0 时,我需要主 php 页面转到不同的 URL。
以下代码在streets.php 上。它调用streetsdo.php 来显示信息。
<script>
function findUser(str) {
var dapage='streetsdo.php';
var http;
var myself = arguments.callee;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if (http) {
http.onreadystatechange = function() {
if (/4|^complete$/.test(http.readyState)) {
document.getElementById('result').innerHTML = http.responseText;
setTimeout(function(){myself();}, 7000);
}
};
http.open('POST',dapage,true);
http.setRequestHeader('Content-type','application/x-www-form-urlencoded');
http.send('req=".$uid."&req2=numb');
}
}
</script>
那是进行刷新的代码。在streetsdo.php 上,MySQL 查询基本上是倒计时。一旦它达到 0,我需要 street.php 去一个不同的 URL。
这可能吗?
我尝试使用 header("Location : blabla"),但这不起作用,因为它只重定向streetsdo.php 页面而不是脚本运行的streets.php,并且我卡在了框架中。
编辑 这个脚本是由streets.php 上的一个按钮激活的。
<span id='result'><span class='Streets'>
<form method='post' action='streets.php'>
<input type='button' class='theButton' value='Start' onclick='findUser(this.value)'></form>
</span>