无法让这个AJAX请求工作

时间:2012-07-06 13:41:48

标签: php jquery html ajax

所以基本上这里是我的脚本,在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文件中替换为echo并返回true为&#34; true&#34;。

3 个答案:

答案 0 :(得分:4)

在你的php文件中写

<?php

echo true;//can also use echo 1

?>

因为页面无法返回任何内容

答案 1 :(得分:3)

您不会通过php输出任何内容。

应该是:

<?php echo "true";?>

和js:

if(response == "true") {

另外,我建议不要包含PHP结束标记:?>以避免不必要的新行并防止发送标题信息:

<?php 
     echo "true";

答案 2 :(得分: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();}

              }
        });