2

つまり、基本的にここに私のスクリプトがあります。これはindex.phpにあります-

    <script type="text/javascript">
    setInterval(function() {
        jQuery.ajax({
            url: "ajaxChecker.php",
            context: document.body
        }).done(function(response) { 
            if(response == true) {
                location.reload(true);  
            }
        }); 
    }, 1000 * 60);      
    </script>

毎分、データを受信するためにbalanceChecker.phpにリクエストを送信し、それが本当のリロードページであるかどうかを確認する必要があります。それ以外の場合は何もしません。

これがajaxChecker.phpファイルです

<?php

return true;

?>

しかし、それは機能しません。何か案は?

AJAXパーツを編集しましたが、現在は機能しません-

    setInterval(function() {
        jQuery.ajax({
            url: "ajaxChecker.php",
            context: document.body,
            success: function(response) {
                if(response == "true") {
                    location.reload(true);  
                }
            }
        });
    }, 1000 * 10);  

そして、ajaxChecker.phpファイルでreturnをechoに、trueを"true"に置き換えました。

4

3 に答える 3

4

あなたのphpファイルに書き込みます

<?php

echo true;//can also use echo 1

?>

ページは何も返すことができないため

于 2012-07-06T13:43:25.490 に答える
3

あなたのphpでは何も出力しません。

次のようにする必要があります。

<?php echo "true";?>

そしてjsで:

if(response == "true") {

?>また、不要な改行を避け、ヘッダー情報の送信を防ぐために、PHP の終了タグを含めないことをお勧めします。

<?php 
     echo "true";
于 2012-07-06T13:43:32.117 に答える
1

.done の代わりに「成功」​​を使用できます。

var str="the data you want to send to ajaxChecker.php";

$.ajax({
          type: "POST",
          url: "ajaxChecker.php",
          data: str,
          success: function(msg) {
          // msg is the return you receive from ajaxChecker.php

                      if(msg==1) {location.reload();}

              }
        }); 
于 2012-07-06T13:52:43.100 に答える