私はajax応答にいくつかの問題があります。すべてが大丈夫ですが、私はいくつかの奇妙な行動を取っています。 私はajaxベースのチャットを作っています。だから、私は、ajaxリクエストレスポンスを使用して、その作業を行います。私は2つのポーリング関数を使用し始めたが、応答は複数回取得されることがありますが、正常に動作しています。 具体的には、私はメッセージポーリングのための1つのajaxパッケージと、ユーザーリストポーリングのための1つのajaxパッケージを送信します。両方とも定期的に送信されます!さらに、それらは、ほぼ同じ時間に同じ頻度で送信されます。 リクエストに複数の応答が返されることがあります。すべてのパッケージにタイムスタンプがあり、それらはサーバー側に記録されます。サーバー上では、パッケージは一度しか入っていません(私はロギングに基づいており、同時に複数のブラウザーを使用しています)。ブラウザは約3〜4回の応答を行います。すべてのメッセージは、同じタイムスタンプで完全に同じです。これは、通常、ブラウザに負荷がかかる場合に発生します。 私はヘッダーのキャッシュを無効にしようとしましたが、あまり役に立ちません。 問題に関する情報や考え方をお手伝いしてください。1つのリクエストに対して複数のajax応答を持つ
答えて
なぜ2つのリクエストを使用するのですか?それらを1つの「何か新しいものに」結合してください。両方の応答を同時に返信することができます。 Ajaxのレスポンスハンドラ(仮定jqueryの)で、クライアントサイドスクリプトで、その後
$data = array(
'user_query' => array(
'status' => false // nothing new
),
'mesage_query' => array(
'status' => true // got some new messages
'messages' => array (
0 => array(... new message #1 data ...),
1 => array(... new message #2 data ...)
etc...
)
)
);
echo json_encode($data)
と:あなたはJSONレスポンスに任意のデータ構造を埋め込むことができ、次のように行うのは簡単だろう
$.ajax(blah blah blah
....
success: function(data) {
if (data['messages'].status) {
show_new_messages(data['messages']);
}
if (data['user_query'].status) {
show_new_users(data['user_query']);
}
}
});
こんにちは! これは私の問題を解決したようです。私はXMLと通常のjavascriptを使用しているので、少し時間がかかりました。私はJSONを学ぶことが有益だと思います。通常のAjaxレスポンスでは、私が知る限り、配列は許されません。 – Zulde
json = javascriptオブジェクト表記。 'x = blah blah blah'とすると、jsonは' blah blah blah'部分です。 PHPでは、json_encodeを使ってそれを生成することができます(そして、jsonをjson_decodeで元のPHPデータに変換する)。 「学ぶ」ことは何もありません.Javascriptと他の言語との間でデータ構造を伝達する単なる方法です。 –
私はそれを知りませんでした。 提案したコードを書き直しましたが、完全には機能しません。時々同じ問題が起きている。同じ応答が複数回処理されます... – Zulde
- 1. 1つのAjaxリクエスト、複数の応答?
- 2. 1つのAJAXリクエストからの複数の応答
- 3. Tornadoが1つの要求に対して複数の応答をプッシュ
- 4. 複数のAjaxリクエスト(コールバック1つ)
- 5. ノードAjaxリクエストは、かつて私は、単一のAJAXリクエストを持ってここに何の応答
- 6. vue.jsにajax応答をバインドする(複数のリクエストを1ページに渡す)
- 7. 1つの列に対して複数のフィルタ値を持つng-repeatテーブル
- 8. 複数のファイルを1つの応答にパイプする
- 9. 複数のAJAX応答
- 10. ajaxリクエストを1つずつ
- 11. 複数回答AJAXリクエスト
- 12. パラメータに応じて複数のURLを持つ1つのクラスベースのビューオブジェクト
- 13. 複数のajaxリクエストと応答を処理する
- 14. 1つのボタンに対して1つのonClickで複数の関数
- 15. Woocommerce - 行ごとに1つの商品を複数(モバイル対応)
- 16. NodeJS - 複数のリクエストを送信し、すべての応答を1つのコールバックで処理する
- 17. 同じリクエストに対して2つの応答を送信する
- 18. 1対1の関係複数のファイルを持つSQLAlchemy
- 19. Javascriptの応答とAjaxリクエスト
- 20. Ajaxリクエストの応答ヌル
- 21. 1つの応答側を持つCSSの三角形
- 22. 1つのイベントを使用してreduxで複数のajaxリクエストをトリガーする
- 23. 1つのサイトに複数のX-UA対応メタタグがある
- 24. Chartjs 1つのラベルに対応する複数のbarcharts
- 25. 1つ以上の複数のAPIでDealyの応答
- 26. 複数の回答を持つPhp ajax投票システム
- 27. ユニバーサルアナリティクス - 1つのディメンションと1つのページビューに対して複数の値をプッシュ
- 28. 複数の選択ボックス条件を持つAjaxリクエスト
- 29. 1つのプロットdrcパッケージ内の複数用量応答曲線
- 30. PHP JSONは2つの異なる関数に対して1つの応答を返す
コードを表示してください。 – Sedz