0

jQueryの$.ajax()を使用して、MySQLテーブルから最新の入力を出力するPHPページをベースの間隔で取得しようとしています。新しいエンターテインがある場合はページに印刷され、ない場合は「NaN」が印刷されます。

これは、新しい入力をチェックする私のPHP関数です:http://pastebin.com/R6NHDU3tこれ
は、上記の関数からの応答をチェックするHTML + jQueryです(スタックのいくつかの回答から取得しました):http://pastebin .com / myT7evAx

アイデアは次のとおりです。HTMLページにアクセスします。内部のjQueryは3秒ごとにPHPページを取得します。PHPはMySQL内の新しいエントリをチェックします。新しい入力がある場合は、PHPページに出力され、jQueryによってフェッチされてから、#messagesに追加されます。そうでない場合は、「NaN」が出力されます(JSONのため、関係ありません)。

新しい入力が利用できない場合、これは正常に機能します。3秒ごとに「NaN」がページに印刷されます。いくつかのライブHTTPヘッダー:

http://localhost/handler.class.php?Q=comments&_=1348715334458

Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Referer: http://localhost/live.html

HTTP/1.1 200 OK
Date: Thu, 27 Sep 2012 03:08:54 GMT
Server: Apache/2.2.22 (Win32) PHP/5.3.13
X-Powered-By: PHP/5.3.13
Content-Length: 15 <---- the "NaN", no new data
Keep-Alive: timeout=5, max=97
Connection: Keep-Alive
Content-Type: text/html

新しい入力が行われると、スクリプトは「NaN」(doh、新しいデータ)の追加を停止し、新しい入力を追加する必要がありますが、スクリプトは停止し、新しいデータは追加されず、要求の実行を停止します。これが最新のライブHTTPヘッダーログで、最後のリクエストが表示されています。

http://localhost/handler.class.php?Q=comments&_=1348715337473

GET /handler.class.php?Q=comments&_=1348715337473 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Referer: http://localhost/live.html

HTTP/1.1 200 OK
Date: Thu, 27 Sep 2012 03:08:57 GMT
Server: Apache/2.2.22 (Win32) PHP/5.3.13
X-Powered-By: PHP/5.3.13
Content-Length: 3257 <-- new data, so it got the response, but stopped here. no appending, no more requests.
Keep-Alive: timeout=5, max=96
Connection: Keep-Alive
Content-Type: text/html

handler.class.php?Q=comments新しいデータを返すときに停止するのはなぜですか?

4

0 に答える 0