0

私がやりたいのはPUSH、mongodb がエントリを追加するときに jQuery を使用することです。多くの jQuery プラグインを目にしましたが、そうではありませLONG POLLINGPUSH

私は、これがここでどのように起こっているかを知りたいと思っています(2 つの異なるウィンドウを開いてチャットしようとするとわかるでしょう)。

このサンプル コードを書いたのはこの人です。

彼は を使用してprototype.jsおり、バックエンド コードで見たところ、特別なことは何もありません。MySQL select ステートメントだけですが、MySQL データベースがプロトタイプ コメット オブジェクトを変更するたびに、それに応答します。

jQuery で同様のことを行うことはできますか? これはポーリングではなくPUSHprototype.js.
それとも、プロトタイプがソケットに接続されているようなものですか? 申し訳ありませんが、ソケットとは何かについてはよくわかりませんが、本当にやりたいことはPUSH、mongodb がエントリを追加するときに jQuery を使用することです。

4

1 に答える 1

-1

これで一旦解決しましょう。私はプロトタイプのユーザーではないので、これを思いつくためにドキュメントを読む必要がありました。

JavaScript コンソールからこの方法で、基礎となるXMLHttpRequestRedirectedにアクセスできます。

$ comet.ajax.transport.readyState
1

readyState1の略ですOPENED

これをテストしたいですか?再接続を回避することをオーバーライドしXMLHttpRequestRedirected.onreadystatechangedます (そして、開いたまま待機します)。

$ comet.ajax.transport.onreadystatechange = function(){
  console.log("Don't reconnect");
}; 
$ comet.ajax.transport.abort();

Don't reconnectメッセージが表示され、ロングポーリングが停止されます。

メッセージを送信してみます。何も起こりません。

于 2012-07-26T20:39:05.167 に答える