手机版

ajax传输数组和后台接收方法的详细说明

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

我们使用ajax异步提交multi-box来获取要操作的对象的id。这时候我们可以为每个id做一个对象,然后放入一个数组中,然后用json.stringify()用json格式化数组;在后台的inputStream中分析我们的json字符串,然后只使用:

New jsonArray()获取JSON数组,并在循环中解析我们想要的属性:

var countsCheckBox=$(' input[type=' checkbox ']: checked ');var bookid=[];for(var I=0;icountsCheckBox.lengthI ){ //用[]得到的元素是domElement元素,需要。物有所值。//如果是countsCheckBox.eq(i)的Obkject元素,val()可以用于value//alert (countscheckbox [I])。值);my send book _ id={ };my send book _ id[' book _ id ']=countsCheckBox[I]。价值;book id[I]=my send book _ id;}//alert(book id);Var confirmdel=confirm('您确定要删除它吗?);If(confirmdel){ //开始请求删除$。Ajax ({URL :' selectdelbooks ',数据: JSON。Stringify(书籍ID),键入:' post ',success 3360 function (RES) {alert('删除成功');location . replace('/DeMoo/books/page BookShow ');} });}在上面的js中,我们将每个选定的id放在一个mysendbook_id的“book_id”属性中,然后将这个对象放在booksid的数组中;发送异步请求时使用

Json.stringify(bookid)格式化这个bookid数组以获得一个Json数组。

看看我们在后台是如何接收的:

一种是创建一个带有列表的类,其中只包含一个带有bookid属性的类,然后在这个参数中添加注释@RequestBody。但是这样比较麻烦;

另一种是从InputStream中获取数据,使用IOUtils.toString将inputStream转换为字符串,然后使用new JSONArray(my book id);获取这个json数组

从而获得每个json中book_id的属性值

span style=' font-family : simsun;' font-size : 10.5 pt;'/span span style=' font-family : kaiti _ GB2312;' font-size :14 px;'@ request mapping(' selectdelbooks ')公共字符串selectdelbooks(HttpServletrequest请求)引发异常{ ServletInputStream inputStream=request . getinputstream();string my bookid=IOutils . ToString(InputStream);JSONArray jsonarr=new JSONArray(my book id);listString book _ id=new ArrayListString();for(int I=0;ijsonarr . length();I){ book _ id . add((JSonobject)jsonarr . get(I))。getStrIng(' book _ id ');}./span这样我们就可以得到一个包含所选id值的列表。

数据库中的信息:

多种页面选择:

在后台获取的所选图书的Id:

这样得到设置的id,后续操作方便。

摘要

以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。

版权声明:ajax传输数组和后台接收方法的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。