ajax從JSP傳遞對象數(shù)組到后臺的方法
今日工作中遇到了需要從JSP傳遞對象數(shù)組到后臺的需求,網(wǎng)上輾轉(zhuǎn)找了很多資料,終于解決。苦于網(wǎng)上很多資料不全,故記錄下詳細(xì)解決過程。如下:
JSP:
function addAccount(){ debugger; var html = ''; var ary = $("#match_account").find("p"); var _list = new Array(); if(ary.length){ for(var i = 0,len = ary.length;i < len;i ++){ var account = new Object(); html += '<li class="fl mb8" data-id="'+ary[i].id+'" data-sort="0">'; html += '<span class="mr8 display-ib" style="background:#eee;padding:0px 5px 6px 5px">'; html += '<span data-id="">'+ary[i].innerHTML+'</span>'; html += '<a onclick="deleteAccount(this);" href="javascript:;" rel="external nofollow" class="js-btn-remove-tag ml4" style="vertical-align:5px;color:#999;" title="刪除">x</a>'; html += '</span>'; html += '</li>'; account.accountId = ary[i].id; account.account = ary[i].innerHTML; _list.push(account); } $.ajax({ type: "post", url: "${ctx}/companyAccount/addContributeAccounts", data : {list : JSON.stringify(_list)}, async: false, success: function (json) { var result = json.obj.result; if(result != 1){ layer.error('添加賬號失敗.'); } } }); } $("#contribute_account").append(html); }
關(guān)鍵之處有三:
一,定義數(shù)組
var _list = new Array();
二,定義對象,并迭代添加對象屬性,最后push進(jìn)數(shù)組
var account = new Object();
account.accountId = ary[i].id; account.account = ary[i].innerHTML; _list.push(account);
三,提交時(shí)轉(zhuǎn)換數(shù)組對象
data : {list : JSON.stringify(_list)}
后臺java:
/** * 添加投稿賬號 */ @RequestMapping(value = "addContributeAccounts") @ResponseBody public JsonResult addContributeAccounts(String list) { JSONArray ary = JSONArray.fromObject(list); if(ary != null && ary.size() > 0){ List<RegionContributeAccount> accountList = (List<RegionContributeAccount>)JSONArray.toCollection(ary, RegionContributeAccount.class); for(RegionContributeAccount account : accountList){ companyAccountService.insertContributeAccount(account); } } Map<String, Object> obj = new HashMap<String, Object>(); obj.put("result", 1); return JsonResult.success(obj); }
后臺要點(diǎn)有二,
一,轉(zhuǎn)換ary數(shù)組
JSONArray ary = JSONArray.fromObject(list);
二,數(shù)組轉(zhuǎn)自定義java對象
List<RegionContributeAccount> accountList = (List<RegionContributeAccount>)JSONArray.toCollection(ary, RegionContributeAccount.class);
自此,便打通前后端任督二脈。
以上這篇ajax從JSP傳遞對象數(shù)組到后臺的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入淺析Nginx實(shí)現(xiàn)AJAX跨域請求問題
AJAX從一個域請求另一個域會有跨域的問題。那么如何在nginx上實(shí)現(xiàn)ajax跨域請求呢?此問題難住很多朋友,下面小編給大家?guī)砹薔ginx實(shí)現(xiàn)AJAX跨域請求問題的相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2016-06-06四步輕松實(shí)現(xiàn)ajax發(fā)送異步請求
這篇文章主要教大家輕松實(shí)現(xiàn)ajax發(fā)送異步請求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10使用Yii整合的pjax(pushstate+ajax)實(shí)現(xiàn)無刷新加載頁面
本篇文章給大家介紹Yii整合pjax(pushstate+ajax)實(shí)現(xiàn)無刷新加載頁面,小伙伴跟著小編一起學(xué)習(xí)吧2015-09-09基于Ajax的聊天機(jī)器人功能的實(shí)現(xiàn)
這篇文章主要介紹了基于Ajax的聊天機(jī)器人,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11在實(shí)戰(zhàn)中可能碰到的幾種ajax請求方法詳解
這篇文章主要給大家分享了在實(shí)戰(zhàn)中可能碰到的幾種ajax請求方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03Json數(shù)據(jù)異步綁定到界面的Table并且自動刷新原理及代碼
做Winform習(xí)慣了,大家都習(xí)慣設(shè)置datasource這樣的寫法,今天就先從這個updatepanel加timer實(shí)現(xiàn)頁面自動刷新這個例子來下手吧,感興趣的朋友可以了解下,或許對你學(xué)習(xí)ajax有所幫助2013-02-02Ajax方式提交帶文件上傳的表單及隱藏iframe應(yīng)用
一般的表單都是通過ajax方式提交,所以碰到帶文件上傳的表單就比較麻煩,基本原理就是在頁面增加一個隱藏iframe,然后通過ajax提交除文件之外的表單數(shù)據(jù),感興趣的你不妨了解一下,或許本文對你有所幫助2013-01-01