如何在不刷新的情况下在页面上显示实时信息? - php

Facebook推出了一个自动收录器,显示实时新闻滚动。如何在网站上同时使用该功能?我不在乎使用iframe并刷新它,因为它会闪烁A和B来显示页面加载图标(取决于浏览器)。如何才能做到这一点?

参考方案

为此,您希望每隔X秒使用AJAX提取您要查找的数据。也称为轮询。

细分如下:每隔X秒,我们想在数据库中查询新数据。因此,我们将异步POST发送到php页面,然后返回结果的数据集。我们还声明了一个回调函数(jQuery的本机),该函数将传递从PHP中回显的数据。

您的PHP:

if (isset($_POST['action'])){
    if ($_POST['action'] == 'pollNewData'){
        pollNewData();
    }
}

function pollNewData(){
    $term = $_POST['term'];
    $sql = "select * from TABLE where TERM = '$term'";
    $result = get_rows($sql);
    echo json_encode(array('status'=>200, 'results'=>$results));
}

您的前端javascript:

setTimeout(pollForNewData, 10000);

function pollForNewData(){
    $.post('url/ajax.php',{
        action: 'pollNewData',
        term: 'your_term'
    }, function(response){
        if (response.status == 200){
            $.each(response.results, function(index, value){
               $("#container").append(value.nodeName);
            });
        }
    }, 'json');
}

本质上这是在用jQuery的ajax方法异步发布。在PHP中触发函数的方式是通过引用帖子中的键值项来描述要在ajax请求中调用的函数。我将此项目称为“ Acton”,它的值是将为此特定事件调用的函数的名称。

然后,您通过回显json_encoded数据集来返回后端获取的数据。

在javascript中,您每10秒就会向此php函数发布一次。帖子完成后的回调为function(response)部分,回显数据作为response传递。然后,您可以将此响应视为json对象(因为在函数之后,我们声明返回类型为json

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…