まず、私のポストを見ていただきありがとうございます。私はAJAXを使用してサーバーPHP(laravel)にリクエストを送信し、サーバーはAJAXを返す前にリクエスト(約10秒)を処理します。しかし、AJAXが待っているときには、他のブラウザを開いて自分のWebページにアクセスします - >それはまだ10秒待っています。わかりません??? 私のjs私のブラウザはなぜ待っていますか?
function pullRequest() {
/* send request to server */
var xhr = $.ajax({
method: 'POST',
url: 'pull?random_key='+Math.floor(Math.random()*10),
data: {'_token':$('meta[name=csrf-token]').attr('content')},
success: function(response) {
/* pull request */
pullRequest();
},
}); /* end ajax */
$('a[href]').click(function() {
xhr.abort();
});
} /* end function pullRequest */
$(function() {
// pullRequest();
setTimeout('pullRequest()', 2000);
});
マイPHP
public function handle(Request $request) {
$time = time()+50;
while(1) {
echo connection_status();
if($this->hasNewMessages() || time() >= $time) {
break;
}
continue;
}
return $this->messages;
}
私はそれについてのビデオを録画できます。私はそれを挿入することを知らないので、申し訳ありません。 、リンクユーチューブに従ってください:
https://www.youtube.com/watch?v=8jqPU3R-60Iは、あなたが実際にPHPの組み込みWebサーバ起動されているコマンドphp artisan serve
で
これには、Webサーバーの構成とPHPセッションの2つの一般的な理由があります。できるだけ早く 'session_write_close()'でできるだけ早くセッションを閉じるべきです:http://php.net/manual/en/function.session-write-close.php –
'session_write_close() 'whileループに、それは動作していません... –
それはループに属しませんが、明らかにそれはあなたの問題ではありません。あなたのWebサーバーとは何ですか、あなたはその構成にアクセスできますか? –