Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HDIV-如何在Ajax请求中修改URL参数值?_Ajax_Params_Hdiv - Fatal编程技术网

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

HDIV-如何在Ajax请求中修改URL参数值?,ajax,params,hdiv,Ajax,Params,Hdiv,我正在尝试将HDIV集成到我现有的应用程序中。但我一直在解决下面的问题 用例: 1.我有一个很大的表单,有很多字段。当我在下拉列表中更改一个值时,我通过将所选值作为URL参数传递来进行Ajax调用。 例: $.get(“http://ajaxurl?dynamicParam=1”,函数(数据){/将新HTML内容呈现到现有页面/}) $.get(“http://ajaxurl?dynamicParam=2”,函数(数据){/将新HTML内容呈现到现有页面**/}); 等等 问题: 当我在下拉列表

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

用例: 1.我有一个很大的表单,有很多字段。当我在下拉列表中更改一个值时,我通过将所选值作为URL参数传递来进行Ajax调用。 例:

  • $.get(“http://ajaxurl?dynamicParam=1”,函数(数据){/将新HTML内容呈现到现有页面/})

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

  • 问题: 当我在下拉列表中选择值时,在ajax参数中传递不同的值,HDIV抛出无效的参数值错误

    我能看到的唯一解决方案是,我需要提交带有_MODIFIED_HDIV_STATE值的整个表单

    但是,我不能为了在Ajax调用中只传递一个值而提交整个表单(其中包含大量数据)。此外,我不能排除param来绕过HDIV验证,因为我在许多地方的应用程序中都有相同的用例

    有没有一种方法可以像提交表单那样,将修改后的HDIV状态作为AJAX调用的一部分进行传递?或者请给我一个解决这个问题的方法


    请帮我解决这个问题。(在将HDIV集成到我的大多数应用程序中之后,我已经完成了一半)

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

    • 如果无法在服务器端知道参数的值,则只能将该参数定义为开始参数,并跳过该参数的验证:
    如果要跳过所有视图的验证:

    <hdiv:startParameters>parameter1</hdiv:startParameters>
    
    参数1
    
    如果要跳过所需视图的验证,请执行以下操作:

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

    • 生成所有可能的链接,每个参数值对应一个链接,并通过JavaScript选择所需的链接
    • 通过带有参数的表单执行AJAX调用。此参数将是一个包含所有可能值的select。(推荐选项)
    我希望有帮助