1

HDIV を既存のアプリケーションに統合しようとしています。しかし、私は以下の問題を解決することに行き詰まっています。

ユースケース: 1. 膨大な数のフィールドを持つ大きなフォームがあります。ドロップダウンの値を変更するときは、選択した値を URL パラメーターとして渡して Ajax 呼び出しを行います。元:

  1. $.get("http:://ajaxurl?dynamicParam=1", function(data) {/新しい HTML コンテンツを既存のページにレンダリング/});

  2. $.get("http:://ajaxurl?dynamicParam=2", function(data) {/Render new HTML Content to existing page**/}); 等

問題: ドロップダウンで値を選択すると、別の値が ajax パラメータに渡され、HDIV が INVALID_PARAMETER_VALUE エラーをスローします。

私が見ることができる唯一の解決策は、フォーム全体を _MODIFIED_HDIV_STATE 値で送信する必要があるということです。

しかし、Ajax 呼び出しの一部として値を 1 つだけ渡すために、フォーム全体 (非常に多くのデータがある) を送信することはできません。また、多くの場所でアプリケーション全体で同じユース ケースがあるため、HDIV 検証をバイパスするためにパラメーターを除外することはできません。

FORM submit でできるように、変更された HDIV 状態を AJAX 呼び出しの一部として渡す方法はありますか? または、これを解決する方法を教えてください。

この問題を解決するために私を助けてください。(HDIV をほとんどのアプリケーションに統合した後、途中で立ち往生しています)

4

1 に答える 1

0

これはトリッキーな状況です。次のいずれかの状況になる可能性があります。

  • サーバー側でパラメーターの値がわからない場合は、そのパラメーターを開始パラメーターとして定義し、そのパラメーターの検証をスキップすることしかできません。

すべてのビューの検証をスキップする場合:

<hdiv:startParameters>parameter1</hdiv:startParameters>

必要なビューの検証をスキップする場合:

<hdiv:paramsWithoutValidation>
    <hdiv:mapping url="url1" parameters="parameter1" />
</hdiv:paramsWithoutValidation>
  • サーバー側でパラメーターの値を知ることができる場合:

次の 2 つのオプションがあります。

  • パラメータの値ごとに 1 つずつ、考えられるすべてのリンクを生成し、必要なリンクを JavaScript で選択します。
  • パラメーターを使用してフォームから AJAX 呼び出しを行います。このパラメーターは、すべての可能な値を持つ選択になります。(推奨オプション)

お役に立てば幸いです。

于 2015-05-20T11:30:38.033 に答える