SpirngMVC通过Ajax传递多个对象
生活随笔
收集整理的這篇文章主要介紹了
SpirngMVC通过Ajax传递多个对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景:在項目開發中會有很多次需要傳遞一個對象或者多個對象至后臺的情況。相信很多人也在傳遞List<E>的時候也會遇見很多問題。比如說415錯誤,400錯誤等等。
原因:總結一下其實就是前后端數據格式不統一等原因導致,有時候可能只是json格式的鍵不對。我在此過程中碰見的情況也就是以下幾種
(1)傳遞List(User) 的情況
前端代碼:
1 var b = []; 2 var a ={}; 3 var c ={}; 4 a.name ="張三"; 5 a.age = "20", 6 b.push(a); 7 c.name ="李四"; 8 c.age = "20", 9 b.push(c); 10 $.ajax({ 11 url: '/cms/test/insertUser', 12 type: 'post', 13 dataType:"json", 14 contentType:"application/json", 15 data: JSON.stringify(b), 16 success: function(data){ 17 18 } 19 });?
?
后端代碼:
1 @RequestMapping("insertUser") 2 @ResponseBody 3 public Map<String,Object> insertUser(@RequestBody List<User> user ){ 4 return null; 5 }?
注意此時的json格式是??[{"name":"張三" , "age" : "20"},{"name":"李四" , "age" : "20"}]?
(2)單個對象:
對于單個對象是最最基本的用法,此處就不再解釋。
(3)多個對象 + String/int 等基本參數
前端代碼:
var a ={"arr" :["{name: 張三,age: 24}","{name: 李四,age: 24}"] , "classRome" : "初二四班"}$.ajax({url: '/cms/test/insertUser',type: 'post',dataType:"json",contentType:"application/json", data: a,success: function(data){ } });
?
后端代碼:
@RequestMapping("insertUser")@ResponseBodypublic Map<String,Object> insertUser(@RequestParam(required = false ,value = "arr[]") List<String> user , String classRome){return null;}后端接收到為JSON - String字符串 , 然后可以通過GSON 或者其他的JSON工具轉化為相關的實體類, 注意重點測試 arr 中對象為 一個 或者是 沒有 ?的情況 , 可能會有異常情況發生。
PS:文中代碼不可全部相信,只是提供一種解決問題的思路。
?
轉載于:https://www.cnblogs.com/wepfighting/p/7449141.html
總結
以上是生活随笔為你收集整理的SpirngMVC通过Ajax传递多个对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用maven profile实现多环境
- 下一篇: s3c2440移植MQTT