【问题标题】:How to send values of the select box to servlet using ajax or jquery?如何使用 ajax 或 jquery 将选择框的值发送到 servlet?
【发布时间】:2013-07-10 15:26:26
【问题描述】:

我是 ajax 新手。我想将选择框的参数值重定向到 servlet 到我的 servlet。这是我的代码,当我使用 request.getParameter("type") 时它没有检索值,它给了我一个空值。

     <script>
       $(document).ready(function() {       
         $('#type').change(function() {                              
           $.get('pickasset', function(responseJson) {
             var type = $('#type').val();
            $.ajax({
                type:'POST',
                url: 'PickAssetServlet',
                data: type          
            }); 
           });
        });
      });
    </script>

    <form action="pickasset" method="post">
        <select id="type" name="type">
           <option value="Non-Sap">Non Sap</option>
           <option value="Sap">Sap</option>
        </select>
    </form>

当我更改选择框时,它必须转到 servlet 并在那里执行逻辑。

【问题讨论】:

    标签: java jquery ajax jsp servlets


    【解决方案1】:

    像这样发送你的数据-

    data: { type : type }
    

    【讨论】:

      【解决方案2】:

      如果您没有从选择字段中获得选定的选项,则需要使用 $('#type').find(":selected").text() 检索选定的选项。 val() 不适用于选择字段。也按照 pXL 所说的去做,因为这就是您使用 jQuery ajax 方法发送数据的方式

      【讨论】:

      • 我只希望选择框的参数可用于我的 servlet。我想获取选择框的参数,它是“type”,如 request.getParameter("type");
      【解决方案3】:

      复选框值必须以正确的方式从复选框中获取,如 jQuery 文档 (http://api.jquery.com/val/) 中所述,只需注意多选,您将拥有一个值数组。根据文档,您做得对。

      var varValue = var type = $('#type').val();
      

      然后将数据作为“json”发送,您将能够使用 request.getParameter('type') 读取它们

      data: { "type" : varValue }
      

      如果您仍然得到 null,请尝试检查您的“类型”参数及其值是否在请求中(chrome 请求检查器将很有用,然后在调试器中检查它)。

      .

      附言

      只要检查你的 webapp 过滤器链中是否有一些东西可能会包装你的请求或隐藏一些参数,在一些大型 web 应用中你很容易迷路。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-11
        • 2023-04-09
        • 2012-05-17
        • 2013-01-26
        • 2016-11-05
        • 1970-01-01
        • 2012-10-25
        相关资源
        最近更新 更多