长轮询不是时间戳

时间:2015-08-11 19:55:11

标签: javascript php jquery mysql ajax

SERVER.PHP:

<?php
header('Content-type: application/json');
require 'pdo.php';
set_time_limit(0);
while ( true )
{
    $requestedTimestamp = isset($_GET['timestamp']) ? (int)$_GET['timestamp'] : null;
    clearstatcache();

    $stmt = $pdo->prepare( "SELECT * FROM publication WHERE publication_time >= :requestedTimestamp" );

    $stmt->bindParam( ':requestedTimestamp', $requestedTimestamp );
    $stmt->execute();

    if ($stmt->rowCount() > 0) {
        while ($rowpublication = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $publication_id  = $rowpublication['publication_id'];
        }
        echo $publication_id;
        break;
    } else  {
        sleep( 2 );
        continue;
    }
}
?>

CLIENT.JS

function getContent( timestamp )
{
    var queryString = { 'timestamp' : timestamp };

    $.get ( '/php-long-polling-master/server/server.php' , queryString , function ( data )
    {
        var obj = jQuery.parseJSON( data );
        $( '#response' ).html( obj.content );

        // reconecta ao receber uma resposta do servidor
        getContent( obj.timestamp );
    });
}

$( document ).ready ( function ()
{
    getContent();
});

Client.js发送的请求没有查询字符串:server.php而不是:server.php?timestamp=XXXXXXXXXX

任何解决方案?我是长期投票的新人。

0 个答案:

没有答案