jquery ajax提交陣列引數時traditional的作用
阿新 • • 發佈:2018-12-25
原文地址:小時刻個人部落格http://small.aiweimeng.top/index.php/archives/traditional.html
在一些簡單的專案中ajax傳到後臺的引數都是以鍵值對的形式傳輸;
例如:
data:{
"id":1,
"name":"測試"
}
這種方式簡單直觀明瞭,但是在一些複雜的業務裡面,我們的傳值就不單單時這樣的簡單鍵值對,也會有傳一些陣列。
一些多選框的,如果ajax傳值十一字串的形式傳值的話,後臺就需要將字串轉換為陣列,
字串形式eg:
data:{
"id":"1,2,3"
}
陣列形式eg:
data:{
"id":[1,2,3]
}
陣列這種形式傳值操作方面也簡單了許多。
當然如果我們之間傳輸陣列的時候,jquery會對引數進行jquery.param()
序列化我們後臺肯定是接受不到這個引數的值的。
那麼要怎麼處理該引數呢,在ajax中有一個屬性traditional
深度序列化,預設為false,以適應PHP等框架。
我們可以通過設定tradtional為true阻止深度序列化。
例如:
data:{
"id":[1,2,3,4]
},
traditional:true
這種形式後臺就不用再將字串轉化為陣列在進行操作,前端也無需取批結成字串了。