1. ホーム
  2. jquery

jQueryはAJAXストリームをインクリメンタルに読みますか?

2023-09-05 03:14:09

質問

私が読んだのは この質問 を読みましたが、それは私の質問に対する正確な答えではありません。 残念ながら、私が最後にAJAXを見たときから、XHRオブジェクトの中で物事が変わったように見えます。 responseText に直接アクセスすることはできなくなりました。

私は、私がコントロールできないサーバーからHTTP経由でCSVデータを取得するために、AJAX(できればjQueryですが、提案に寛容です)を使用するページを書かなければなりません。 応答データは非常に大きくなる可能性があり、1 メガバイトのテキストは珍しくありません。

サーバーはストリーム フレンドリーです。返されるデータのストリームに、JavaScript から直接アクセスする方法はまだあるでしょうか?

私は中間に住み、ある種の "Comet" 技術 (long-polling, EventSource, etc) を使用するいくつかの PHP コードを書くという選択肢を持っていますが、できればそれは避けたいと思っています。

関連性がある場合、この質問では、ユーザーが Firefox/Chrome/Opera の最新バージョンを持っていて、古いブラウザーの互換性は問題ではないと仮定しています。

どのように解決するのですか?

あなたは、このためにストレートアップjavascriptを使用するつもりです。理由は、コールバックが起動するのを待たずに、継続的にポーリングしたいからです。 これにはjQueryは必要なく、とてもシンプルです。 彼らはいくつかの Ajax Patternsのウェブサイトには、このための素晴らしいソースコードがあります。 .

基本的には、レスポンス内の最後の位置を追跡し、その位置を過ぎてより多くのテキストを定期的にポーリングしたいだけでしょう。 あなたの場合の違いは、完全なイベントを購読して、ポーリングを停止できることです。