js serializes the form form [json string, array, object]

js serializes the form form [json string, array, object]

(Go to: http://www.cnblogs.com/bjlhx/p/6659392.html)

 

1. Serialize to string

$("#Form").serialize();//name=zhangsan&sex=1&age=20  

2. Serialize as an array

  var formData=$("#form").serializeArray();//[Object, Object, Object] 

Supplementary custom parameters

  formData.push({"name": "psid", "value": $("#psid").val()});

3. Serialize as an object

function getFormJson(form) {
        var o = {};
        var a = $(form).serializeArray();
        $.each(a, function () {
            if (o[this.name] !== undefined) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    }

 

4. Ajax passes ordinary arrays

var deleteNum= [];//Define the array to be passed
deleteNum.push("1");
deleteNum.push("2");
deleteNum.push("3");//Add elements to the array

$.ajax({
    type:"post",
    url:"deleteNum.do",
    data:{deleteNum:deleteNum},
    traditional: true,//must be specified as true
    success:function(data){
        if(data.success){
            deleteNum = [];
        }
    }
});

 backend code

public AjaxResult deleteNum(String[] deleteNum){
    AjaxResult ajaxResult = new AjaxResult();
    //At this time, the deleteNum array value has been obtained
    return ajaxResult;
}

 

5.form form submit custom object array

<form id="form" name="form"  method="post">
 <input type="hidden" name="table" value="user">
  <table>
    <tr>
      <td><input type="text" name="userList[0].name"/></td>
      <td><input type="text" name="userList[0].password"/></td>
    </tr>
    <tr>
      <td><input type="text" name="userList[1].name"/></td>
      <td><input type="text" name="userList[1].password"/></td>
    </tr>
    <tr>
      <td><input type="text" name="userList[2].name"/></td>
      <td><input type="text" name="userLIst[2].password"/></td>
    </tr>
  </table>
</form>

 ajax submission

$("#form").serializeArray()

backend receive

public class FormList {
        private String table;
        private ArrayList<User> userlist;
        
        public String getTable() {
            return table;
        }
        public void setTable(String table) {
            this.table = table;
        }
        public ArrayList<User> getUserlist() {
            return userlist;
        }
        public void setUserlist(ArrayList<User> userlist) {
            this.userlist= userlist;
        }

 

public AjaxResult saveUpdateUser(FormList form){
    List<User> userlist = list.getUserlist();
}

 

 

 

 

 

 

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326480479&siteId=291194637