AJAX:每分钟显示一条随机行

时间:2011-06-26 09:27:00

标签: php javascript ajax jquery xmlhttprequest

我有a PHP-script显示随机文字:

<?php

$quotes = array(
        'quote 1',
        'quote 2',
        'quote 3',
        'quote 4',
        'quote 5',
);

$i = array_rand($quotes);

header('Content-Type: text/plain; charset=utf-8');
print($quotes[$i]);

?>

我怎么能每分钟调用它来在我的网页上显示一个新的引用(UTF8编码的俄文文本)(在Facebook上它本身是an iframe app)?

我是否需要在这里使用jQuery,或者是否有更轻松的解决方案,在通常的浏览器中工作?

我还没有任何AJAX经验。

更新

正如下面的Uku Loskit所建议的那样,我添加了以下代码段并且效果很好。有人可以告诉我如何使用fadeIn()消除新引用吗?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
        setTimeout( function() {
                $.get("/hint.php", function(data) {
                        $("#hint").html(data);
                });
        }, 5*60*1000 );
});
</script>

谢谢! 亚历

2 个答案:

答案 0 :(得分:4)

使用setTimeout()方法。

我认为使用jQuery(特别是缩小版本)“仅适用于AJAX”并不重要,因为它提供了跨浏览器兼容的解决方案,并且更容易编程。

示例:

function getNewQuotes() {
   $.get("random_quotes.php", function(data) {
       // set the response from random_quotes.php to this div
       $("#quotesDiv").html(data);
   }); 
}

// 60000 milliseconds = 60 seconds = 1 minute
var t=setTimeout("getNewQuotes()", 60000);

关于混合“非JQuery和Javascript”的问题,我知道没有jQuery函数,所有jQuery仍然是Javascript并且一直依赖jQuery特定代码是没有必要的,但只对一致性有用。

编辑:

$(function() {
            setTimeout( function() {
                    $.get("/hint.php", function(data) {
                            // first hide, then insert contents
                            $("#hint").hide();
                            $("#hint").html(data);
                            // you can probably chain this together into one command as well
                            $("#hint").fadeIn("slow");

                    });
            }, 5*60*1000 );
});

答案 1 :(得分:1)

你不需要jquery,但它更容易。只需从manual中选择 如何获得一次的基本示例:

$.ajax({
  url: "yourFileName.php",
  context: document.body,
  success: function(result){
    $('#someDiv').html('result');
  }
});

然后添加javascript代码以定期执行此操作。我相信你也可以从jquery thingymabob中找到一些漂亮的东西:)