HDIV - 如何修改Ajax请求中的URL参数值?

时间:2015-05-10 03:53:43

标签: ajax params hdiv

我正在尝试将HDIV集成到我现有的应用程序中。但我坚持解决以下问题。

使用案例 我有一个拥有大量领域的大型表格。当我在下拉列表中更改值时,我通过将所选值作为URL参数传递来进行Ajax调用。 例如:

  1. $。get(“http :: // ajaxurl?dynamicParam = 1”,function(data){/ 将新HTML内容呈现到现有页面 /});

  2. $。get(“http :: // ajaxurl?dynamicParam = 2”,function(data){/将新HTML内容呈现到现有页面** /}); 等

  3. 问题: 当我在下拉列表中选择值时,在ajax参数中传递不同的值,HDIV会抛出INVALID_PARAMETER_VALUE错误。

    我能看到的唯一解决方案是我需要使用_MODIFIED_HDIV_STATE值提交整个表单。

    但是,我无法提交整个表单(其中包含大量数据),以便只传递一个值作为我的Ajax调用的一部分。另外,我不能排除param绕过HDIV验证,因为我在很多地方的应用程序中都有相同的用例。

    有没有办法将修改过的HDIV状态作为AJAX调用的一部分传递,就像我们在FORM提交中所做的那样?或者请建议我解决这个问题的方法。

    请帮我解决这个问题。 (在将HDIV集成到我的大部分应用程序中后,我被困住了一半)

1 个答案:

答案 0 :(得分:0)

这是一个棘手的情况。您可能处于以下某种情况:

  • 如果您无法在服务器端知道参数的值,则只能将该参数定义为启动参数并跳过该参数的验证:

如果您想跳过所有视图的验证:

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

如果您想跳过所需视图的验证:

<hdiv:paramsWithoutValidation>
    <hdiv:mapping url="url1" parameters="parameter1" />
</hdiv:paramsWithoutValidation>
  • 如果您可以在服务器端知道参数的值:

有两种选择:

  • 为参数的每个值生成所有可用链接,并使用JavaScript选择所需的链接。
  • 通过带参数的表单进行AJAX调用。此参数将是具有所有可能值的选择。 (推荐选项)

我希望它有所帮助。