php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解
这篇文章主要给大家介绍了关于利用ajax传递数组及后台接收的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们一起来学习学习吧。
前言
我们在使用ajax异步的提交多选框得到需要操作的对象的id,这时我们可以把每一个id做出一个对象,之后放到一个数组中,再使用JSON.stringify()对这个数组进行json的格式化;在后台中再inputStream中解析出我们的json字符串,之后只用:
new JSONArray()得到json数组,循环解析我们想要的属性:
var countsCheckBox = $("input[type='checkbox']:checked");
var booksid = [];
for(var i=0;i
//使用[]取得元素是是一个domElement元素,取值需要使用.value,
//如果使用countsCheckBox.eq(i) 则是一个Obkject元素,就可以使用val()取值
//alert(countsCheckBox[i].value);
mysendbook_id = {};
mysendbook_id['book_id'] = countsCheckBox[i].value;
booksid[i] = mysendbook_id;
}
//alert(booksid);
var confirmdel= confirm('确认要删除吗?');
if(confirmdel){
//开始请求删除
$.ajax({
url:'selectdelbooks',
data:JSON.stringify(booksid),
type:'post',
success:function(res){
alert("删除成功");
location.replace("/TheDemo/books/pageBooksShow");
}
});
}
上面的js中我们把每一个选中的id放到一个mysendbook_id的“book_id”的属性中,再把这个对象放到booksid的数组中;到发送异步请求时使用
JSON.stringify(bookid)格式化这个booksid数组,得到一个json的数组。
再看后台我们怎么接收:
一个是做一个类里面有一个list,这个list装的是只有一个属性为bookid的类,再使用注解@RequestBody加到这个形参上。但是这样比较麻烦;
还有一种是从输入流里面获取数据,使用IOUtils.toString把inputStream转为字符串,再使用new JSONArray(mybooksid);得到这个json数组
从而得到每一个json中的book_id的属性值
@RequestMapping("selectdelbooks")
public String selectdelbooks(HttpServletRequest request) throws Exception {
ServletInputStream inputStream = request.getInputStream();
String mybooksid = IOUtils.toString(inputStream);
JSONArray jsonarr = new JSONArray(mybooksid);
List book_id =new ArrayList();
for (int i=0;i
book_id.add(((JSONObject)jsonarr.get(i)).getString("book_id"));
}...
这样我们得到一个list,里面有我们选中的id值。
数据库中信息:
页面的多选:
后台得到的选择的book的id:
这样拿到id的集合,那后面的操作就方便了。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解相关推荐
- win10装linux虚拟机contos,利用win10自带虚拟机hyper-v安装centos7方法详解
一.安装win10企业版自带虚拟机 hyper-v 1.控制面板-->程序和功能-->启用或关闭Windows功能 勾上 hyper-v 确定就ok了 2.安装成功后会发现在 左下角&qu ...
- ecmall php传变量,PHP_ECMall支持SSL连接邮件服务器的配置方法详解,首先,主要是ecmall使用的phpmail - phpStudy...
ECMall支持SSL连接邮件服务器的配置方法详解 首先,主要是ecmall使用的phpmailer版本太低,不支持加密连接. 然后,得对相应代码做一定调整. 1. 覆盖phpmailer 请从附件进 ...
- mysql zrm 配置_利用MySQL-zrm来备份和恢复MySQL数据库方法详解
MySQL ZRM 工具是用PERL写的可以全部和增量备份MySQL数据库的一个强大工具. 还可以做快照,不过我现在没有条件做.等以后有可以做了再补上. 其实具体要说的也没啥,我只是做了点测试. 这里 ...
- 【前端用法】$.ajax()方法详解,以及$.ajax()标准写法
使用JQuery中的异步请求$.ajax()方法,经常记不全参数,所以在这里记录一下,方便后续使用. 首先看一个标准的写法: $(document).ready(function () {$.ajax ...
- webpack打包后引用cdn的js_利用CDN加速react webpack打包后的文件详解
此文不介绍webpack基本配置,如果对基本配置有疑问请查阅官方文档. 1.配置webpack.config.js 将output.publicPath改成上传到的cdn地址, 例(对应上面上传配置) ...
- matlab合并有序数组,《数组合并》JS合并两个数组的3种方法详解
这篇文章主要介绍了JS合并两个数组的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一个包解决你所有的JS问题,点击获取 需要将两个数组 ...
- ES5和ES6数组遍历方法详解
ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...
- mysql回滚用法_Mysql误操作后利用binlog2sql快速回滚的方法详解
前言 在日常工作或者学习中,操作数据库时候难免会因为"大意"而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2 ...
- php 去重_php求两数组交集的四种方法详解
题目:给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5 ...
最新文章
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
- python中类方法与实例方法的区别-Python实例方法、类方法、静态方法的区别与作用详解...
- exfat linux 读写速度,Ubuntu / Xubuntu : 读写 exFAT 文件系统
- grub4dos命令引导自定义映像_DOS的常用命令二
- 在Window上使用Jenkins自动部署和上传快照Java工件
- 【LeetCode笔记】6. Z字形变化(JAVA、思路)
- 面试还搞不懂Redis,快看看这40道面试题!| 博文精选
- Jeewx-api 1.1 版本发布,微信极速 SDK
- Spring:笔记整理(1)——HelloWorld
- Vue路由 --登录状态的判断
- 工厂模式——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)...
- 在VB6中保存单色(1Bit)位图(VB6代码)
- 【Mac技巧】怎样隐藏电脑Dock栏
- PHP一个文件内多个php代码段的写法
- 基于特征的真菌分解木材的理解
- Spring中整合mybatis包
- 记一个小工具——font-spider(字蛛-css压缩中文字体字体)
- linux怎么sftp传文件,Linux 如何使用SFTP命令传输文件
- 慧数汽车大数据:中国多功能轿车(旅行车)市场研究报告(2018简版)
- 参考一:双缝干涉与波长测量