之前沒有用到過此屬性,前端傳遞數組後端使用list或Array接收時,或出現格式不正確,eg:[["1111","2222"]]
後來查資料才知道有這個屬性
$(function () {
$("#deleteSelect").click(function () {
var res = $.ajax({
url: "/SpringMybatis/user/deleteBySelective",
data: {data: chk_value},
// traditional: true, 這裏的取值後面說明
success: function () {
console.log(res.responseText)
loadData();
}, error: function () {
console.log(res.responseText)
}
})
});
});
traditional默認是false,如果是false,則傳遞的參數爲:
data[]:1
......
這裏設置爲true,使傳遞參數變成:
data:1
......
當traditional默認是false時,使用數組或list接收都是[["1111","2222"]]格式
當traditional默認是true時,使用數組或list接收都是["1111","2222"]格式
traditional這個屬性默認是false,jquery會深度序列化這個對象,我們可以通過設置tradtional爲true阻止深度序列化
這樣以後碰到複選框傳多個id的時候就不用前臺拼後臺spilt了,直接用ajax的traditional屬性,傳過去一個數組,後臺直接一個List<Long> idList接受即可。非常方便。