利用ajax傳遞數(shù)組及后臺(tái)接收的方法詳解
前言
我們?cè)谑褂胊jax異步的提交多選框得到需要操作的對(duì)象的id,這時(shí)我們可以把每一個(gè)id做出一個(gè)對(duì)象,之后放到一個(gè)數(shù)組中,再使用JSON.stringify()對(duì)這個(gè)數(shù)組進(jìn)行json的格式化;在后臺(tái)中再inputStream中解析出我們的json字符串,之后只用:
new JSONArray()得到j(luò)son數(shù)組,循環(huán)解析我們想要的屬性:
var countsCheckBox = $("input[type='checkbox']:checked");
var booksid = [];
for(var i=0;i<countsCheckBox.length;i++){
//使用[]取得元素是是一個(gè)domElement元素,取值需要使用.value,
//如果使用countsCheckBox.eq(i) 則是一個(gè)Obkject元素,就可以使用val()取值
//alert(countsCheckBox[i].value);
mysendbook_id = {};
mysendbook_id['book_id'] = countsCheckBox[i].value;
booksid[i] = mysendbook_id;
}
//alert(booksid);
var confirmdel= confirm('確認(rèn)要?jiǎng)h除嗎?');
if(confirmdel){
//開始請(qǐng)求刪除
$.ajax({
url:'selectdelbooks',
data:JSON.stringify(booksid),
type:'post',
success:function(res){
alert("刪除成功");
location.replace("/TheDemo/books/pageBooksShow");
}
});
}
上面的js中我們把每一個(gè)選中的id放到一個(gè)mysendbook_id的“book_id”的屬性中,再把這個(gè)對(duì)象放到booksid的數(shù)組中;到發(fā)送異步請(qǐng)求時(shí)使用
JSON.stringify(bookid)格式化這個(gè)booksid數(shù)組,得到一個(gè)json的數(shù)組。
再看后臺(tái)我們?cè)趺唇邮眨?/strong>
一個(gè)是做一個(gè)類里面有一個(gè)list,這個(gè)list裝的是只有一個(gè)屬性為bookid的類,再使用注解@RequestBody加到這個(gè)形參上。但是這樣比較麻煩;
還有一種是從輸入流里面獲取數(shù)據(jù),使用IOUtils.toString 把inputStream轉(zhuǎn)為字符串,再使用new JSONArray(mybooksid);得到這個(gè)json數(shù)組
從而得到每一個(gè)json中的book_id的屬性值
<span style="font-family:SimSun;font-size: 10.5pt;"> </span><span style="font-family:KaiTi_GB2312;font-size:14px;"> @RequestMapping("selectdelbooks")
public String selectdelbooks(HttpServletRequest request) throws Exception {
ServletInputStream inputStream = request.getInputStream();
String mybooksid = IOUtils.toString(inputStream);
JSONArray jsonarr = new JSONArray(mybooksid);
List<String> book_id =new ArrayList<String>();
for (int i=0;i<jsonarr.length();i++){
book_id.add(((JSONObject)jsonarr.get(i)).getString("book_id"));
}...</span>
這樣我們得到一個(gè)list,里面有我們選中的id值。
數(shù)據(jù)庫中信息:

頁面的多選:

后臺(tái)得到的選擇的book的id:

這樣拿到id的集合,那后面的操作就方便了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
SSH網(wǎng)上商城之使用ajax完成用戶名是否存在異步校驗(yàn)
這篇文章主要介紹了SSH網(wǎng)上商城之使用ajax完成用戶名是否存在異步校驗(yàn)的相關(guān)資料,需要的朋友可以參考下2015-12-12
Jquery Ajax請(qǐng)求方法小結(jié)(值得收藏)
本文給大家介紹jquery ajax請(qǐng)求方法小結(jié),jquery作為一個(gè)輕量級(jí)的js框架,能快速的開發(fā)js應(yīng)用,并且在一定程度上改變了我們寫js代碼的習(xí)慣,對(duì)jquery ajax請(qǐng)求感興趣的朋友參考下2015-11-11
基于Ajax實(shí)現(xiàn)下拉框聯(lián)動(dòng)顯示數(shù)據(jù)
本篇文章給大家介紹基于ajax實(shí)現(xiàn)下拉框聯(lián)動(dòng)顯示數(shù)據(jù),代碼非常簡單,需要的朋友可以參考下2015-09-09
AJAX解析XML實(shí)例之下拉框省、市二級(jí)聯(lián)動(dòng)
實(shí)現(xiàn)省、市二級(jí)聯(lián)動(dòng),當(dāng)選擇某一省時(shí),改省下面的市就會(huì)在另一個(gè)下拉框顯示出來,下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下2013-11-11

