如何从$ .ajax方法将数组发送到servlet?

时间:2013-10-29 15:26:32

标签: java ajax servlets

我想将数组作为请求参数传递给servlet,如何发送

   $.ajax({
              type: "POST",
              url: "${pageContext.request.contextPath}/MyServlet",
              data: params,
              success: function(data){ 
                            closeMe();                                               
                      },
              error: function(jqXHR, textStatus, errorThrown) { 
                            alert(errorThrown)
                     }
   });  // end of $.ajax()


 $("#savebtn").click(function(e) {
     var username = $("#username").val();
     var password = $("#password").val();
     var checkIP  = $("#chkIP").is(":checked");

      var params = {
                    action : 'add',
                    username : username,
                    password : password,
                    checkIP : checkIP,
                };
     if(checkIP){
                   var ipList = $("#ipaddress").val();
                   var ip = ipList.split(',');
                   params['ipList'] = ip
                }
     });

HTML

        <tr>
            <td>Check IP</td>
            <td><input type="checkbox" name="chkIP" id="chkIP"></td>
        </tr>
       <tr>
            <td>IP List</td>
            <td><textarea id="ipaddress"></textarea></td>
        </tr>

例如,id用户在textarea中输入122.112.122.45,122.112.122.46,....N然后如何在servlet中检索它并存储在db中?

1 个答案:

答案 0 :(得分:0)

您可以在客户端将其拆分以验证每个IP是否有效。

但是,由于通过HTTP发送到Servlet的所有内容都是“扁平的”,即从ObjectString表示,因此以字符串格式发送IP会更简单,例如: 122.112.122.45,122.112.122.46,....N结束并将其拆分为Java Servlet。

public String[] splitIps(final String ipsRawString){
  return ipsRawString.split(",");
}