HDIV - Как изменить значения параметров URL в запросе Ajax?

Я пытаюсь интегрировать HDIV в свое существующее приложение. Но я застрял в решении следующей проблемы.

Пример использования: 1. У меня большая форма с огромным количеством полей. Когда я изменяю значение в раскрывающемся списке, я делаю вызов Ajax, передавая выбранное значение в качестве параметра URL. бывший:

  1. $.get("http:://ajaxurl?dynamicParam=1", function(data) {/Визуализировать новый HTML-контент на существующей странице/});

  2. $.get("http://ajaxurl?dynamicParam=2", function(data) {/Визуализировать новый HTML-контент на существующей странице**/}); и т.п.

Проблема: когда я выбираю значения в раскрывающемся списке, в параметр ajax передаются разные значения, и HDIV выдает ошибку INVALID_PARAMETER_VALUE.

Единственное решение, которое я вижу, это то, что мне нужно отправить всю форму со значением _MODIFIED_HDIV_STATE.

Но я не могу отправить всю форму (в которой чертовски много данных), чтобы передать только одно значение как часть моего вызова Ajax. Кроме того, я не могу исключить параметр для обхода проверки HDIV, поскольку во многих местах у меня есть один и тот же вариант использования в моем приложении.

Есть ли способ передать измененное состояние HDIV как часть вызова AJAX, как мы можем сделать в отправке FORM? Или, пожалуйста, предложите мне способ решить эту проблему.

Пожалуйста, помогите мне решить эту проблему. (Я застрял на полпути после интеграции HDIV в большую часть моего приложения)


person Raj Chowdary    schedule 10.05.2015    source источник


Ответы (1)


Это сложная ситуация. Вы можете оказаться в одной из следующих ситуаций:

  • Если вы НЕ можете знать на стороне сервера значения параметра, вы можете определить этот параметр только как начальный параметр и пропустить проверку этого параметра:

если вы хотите пропустить проверку для всех представлений:

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

если вы хотите пропустить проверку нужных представлений:

<hdiv:paramsWithoutValidation>
    <hdiv:mapping url="url1" parameters="parameter1" />
</hdiv:paramsWithoutValidation>
  • Если вы можете знать на стороне сервера значения параметра:

Есть два варианта:

  • Сгенерируйте все возможные ссылки, по одной для каждого значения параметра, и выберите с помощью JavaScript нужную ссылку.
  • Выполните вызов AJAX через форму с параметром. Этот параметр будет выбором со всеми возможными значениями. (Рекомендуемый вариант)

Я надеюсь, что это помогает.

person Fernando Lozano    schedule 20.05.2015