JSFの同時ajax呼び出し

JSFで同時に実行するajax呼び出しを作成することは可能ですか(新しい呼び出しを開始する前に前の呼び出しを待たずに)

8

2 答え

いいえ、明示的に指定なしでキューに入れられます。 JSF 2仕様の第13.3.2項を参照してください。

13.3.2 Ajaxリクエストキューイング

     

すべてのAjaxリクエストは、クライアント側のリクエストキューに入れてから、   Ajaxリクエストが送信された順に処理されるようにします。キュー内で待機していた要求   最長は、次に送信されるリクエストです。リクエストが送信された後、Ajaxリクエストコールバック関数はリクエストを削除する必要があります   (デキューとも呼ばれます)。要求が正常に完了した場合は、キューから削除する必要があります。もし   エラーが発生しました。クライアントに通知する必要がありますが、依然としてキューから要求を削除する必要があるため、次の要求   送信することができます。次の要求(キュー内で最も古い要求)を送信する必要があります。 jsf.ajax.request を参照してください。   Ajaxリクエストキューの詳細については、JavaScriptのドキュメントを参照してください。

これは、サーバー側のビュースコープBeanのスレッド安全性を保証するために行われます。

11
追加された
RichFacesとMyFacesはどちらも、MyFacesのjsf.jsを使用して、RichFacesのAjaxリクエストキュー( )の管理をサポートしています。これはあなたを助けるかもしれません。
追加された 著者 sleske,
ありがとう。おそらくいくつかのjavascriptでこのキューにアクセスし、これを回避する方法があるのでしょうか? Ajaxリクエストを即座に生成するイベントがいくつかありますか?キューから削除する方法や実行中のリクエストを取り消す方法がある場合は、それが私のために機能します。
追加された 著者 kgautron,
標準API経由ではありません。少なくとも、公開JS APIには何もありません: javaserverfaces .java.net/nonav/docs/2.0/jsdocs/symbols /… ajaxのリクエスト/レスポンス処理におけるパフォーマンスの最大のボトルネックを修正するか、JSF Ajaxを頻繁に改訂したり、 API。
追加された 著者 BalusC,

ページまたはいくつかのフォームのいわゆるView-Stateに関する問題を防ぐために、AJAXリクエストはシリアライズされます。

JSF-Extensions (https://www.intersult.com/wiki/page/JSF%20Ext) gives you the option to parallelize AJAX requests. Just set the JavaScript variable jsf.ajaxQueue to another value than the default of 1. But if you don't lock out manually duplicate requests from within the same form or rendering of the same region, you will get errors.

これは、並列リクエストをアクティブ化する方法です。

<script type="text/javascript">
    if (jsf)
        jsf.ajaxQueue = 2;
</script>

For example you can parallelize the rendering on the server of a page with . Most applications would not need parallel requests, because they run nice when strictly serialized.

3
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript