在使用ajax向後臺傳值的時候,有的時java
$.ajax({ type: "post", async: true, data: { "records": ["123","456","789"] }, url: "xxxxx", error: function(request) {}, success: function(data) {} });
可是經過測試很快就會發現java後臺沒法取到參數,由於jQuery須要調用jQuery.param序列化參數,jQuery.param(obj, traditional )默認狀況下traditional爲false,即jquery會深度序列化參數對象,以適應如PHP和Ruby on Rails框架,但servelt api沒法處理,咱們能夠經過設置traditional 爲true阻止深度序列化,而後序列化結果以下:jquery
records: ["123", "456", "789"] => records=123&p=456&p=789ajax
隨即,咱們就能夠在後臺經過request.getParameterValues()來獲取參數的值數組了,以下:api
$.ajax({ type: "post", async: true, traditional: true, data: { "records": ["123","456","789"] }, url: "xxxxx", error: function(request) {}, success: function(data) {} });