1

わかりました、私はこの問題を抱えており、まだ Ajax に慣れていないので、どうすればよいかわかりません。

Ajax と Javascript を使用して 7 秒ごとに更新を実行しているページがあります。Ajax ページが更新されるたびに、データベース内の SQL 値から 1 つ削除されます。その値が 0 になったら、メインの php ページを別の URL に移動する必要があります。

次のコードは street.php にあります。streetdo.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>

それが更新を行うコードです。streetdo.php では、MySQL クエリは基本的にカウント ダウンです。0 になったら、street.php から別の URL に移動する必要があります。

これは可能ですか?

header("Location : blabla") を使用してみましたが、スクリプトが実行されている street.php ではなく、streetdo.php ページのみをリダイレクトするため、機能しません。

編集 このスクリプトは、street.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>
4

2 に答える 2

0

カウントダウンがゼロになると、ajax 呼び出しは特別な値を返す必要があります。あなたはそれが置き換えられることを確認します

document.getElementById('result').innerHTML = http.responseText;

if(http.responseText == 'finished'){
    window.location.href = '/myotherpage.php'
} else{
    document.getElementById('result').innerHTML = http.responseText;
}
于 2013-10-24T19:46:34.750 に答える