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
。
任何解决方案?我是长期投票的新人。