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.ini 不会输出任何内容。

应该:

<?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 回答