這是一個很小的問題,平時工做中容易忽視,今天在作一個需求,須要利用ajax想後臺傳遞兩個數組,切兩個數組有可能爲空的狀況。這裏遇到了兩個問題:1.ajax傳遞數組後臺接收不了,2.當傳遞數組爲空的時候系統空指針。javascript
出現問題的1的緣由是由於ajax的解析數組傳到後臺的時候爲其參數名多加了一個[],其實咱們在後臺節後參數的時候在數組名後面加上[]也是能夠的,可是這樣作不妥。以下代碼能夠在ajax中加入traditional: true,這個就能夠了,後臺就能夠正常接收數組。java
$.ajax({ type: "POST", dataType: "json", traditional: true, data: { id : data, deleteOrg : deleteArray, insertOrg : insertArray, }, });
出現問題2是由於ajax向後臺傳遞參數的時候若是數組爲空會默認捨棄這個字段。解決這個問題能夠在後臺springmvc接收逇時候解決。以下代碼設置required=false便可,當傳遞數組爲空的時候對應字段爲null。ajax
@RequestParam(value="deleteOrg", required=false) List<String> deleteOrg @RequestParam(value="insertOrg", required=false) List<String> insertOrg