21/08/05 15:31:25.87 F8+XC2Dv0.net
>>654
それは君がブラウザの動きを分かってない。
flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。
だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない)
そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。
そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない)
よってその方法では出来ない。
接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、
それを受けてブラウザはすぐにパースを開始する。
だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。
これをやろうとしている。
まあ、Laravelでキューサーバー使えというのはその通り。エンタープライズならこれなのだろう。
多分君はDOM(HTMLページ内)のJSが同期的に動くのを見て勘違いしてる。
ajaxで取得したデータは、途中では読めないよ。