jsp采用ajax传递数组给后台controller并遍历
ajax传递数组,期间出各种各样的问题,那叫一个头疼,网上各种查,都没有解决,最终摸索摸索加借鉴搞定,不多说,上代码
/* 复选框选定部分 */
$("#delete").click(function(){
var array = [];
$("input[name='singlecheckbox']:checked").each(function(){
array.push($(this).val());
alert($(this).val())
})
alert(JSON.stringify(array));
$.ajax({
url:"delete.action",
dataType:"json",
traditional:true,
contentType:"application/json",
type:"POST",
data:JSON.stringify(array),
success:function(data){
window.loacation.href="list.action";
}
}) })
controller层
@RequestMapping(value="/delete.action",method=RequestMethod.POST)
@ResponseBody
public void delete(@RequestBody String ids){ //注意因为我的数组传递过来不是对象形式只是[1,2,3,4]形式,接收的形参用的是String,需要注意,所以不能转为JSONObject
System.out.println("ids:"+ids);
// ObjectMapper json= new ObjectMapper();
JSONArray json = JSONArray.fromObject(ids);
System.out.println(json.size()+"json的长度");
if(json.size()>0){
for(int i=0;i<json.size();i++){
// JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象---因为我的数组只是简单的数字,所以不能转成对象,报错不适用
System.out.println(json.get(i)+"=") ; // 得到 每个对象中的属性值
}
}
}
网上给的都是对象形式如,我这块同样需要相应jar包
当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。
首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串
JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray 对象
if(json.size()>0){
for(int i=0;i<json.size();i++){
JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
System.out.println(job.get("name")+"=") ; // 得到 每个对象中的属性值
}
}
jsp采用ajax传递数组给后台controller并遍历的更多相关文章
- ajax 传递数组类型参数后台接收不到的问题
在做排序功能的时候需要将一个数组的数据传递到后台,(当时怎么没用json,如果用json就没有那么多的事情了),数据提交采用ajax! 先看代码 js: submitbtn: function () ...
- ajax传递数组到后台
//实体类 public class Person { private int ID{get;set;} private string Name{get;set;} private int Age{g ...
- ajax传递数组到后台,js传递数组到后台
用angular做商品搜索功能,后台接口那边过滤条件必须传递数组过去,结果比较尴尬的事情发生了,每次传递数组过去,查看请求发送的数据,自动被转成了对象,很头疼. 数据传递前 传递后我查看了请求的数据 ...
- ajax传递数组及后台接收
ajax传递的是{"items":arr},其中arr=[]; 在后台String[] items=req.getParameterValues("items" ...
- ajax 传递数组给后台.net MVC 控制器
数组结构为: [ "5ae92c2786f3591b2cff1be5", "5ae91bb7ca673569a8d23a6e" ] 前台代码: $.ajax({ ...
- ajax传递数组,后台更新
js: var rows = $("#stu_reg_table").datagrid("getSelections"); if(rows != "& ...
- ajax传递数组,后台接收为null解决方法
traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...
- jquery ajax传递数组给php
写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://w ...
- ajax 传递数组参数
一.ajax 传递数组参数 需要添加: traditional: true, let typeIDArr = [,,,,,]; var that = this; var url = '@Url.Act ...
随机推荐
- StringUtils工具类中的isBlank()方法和isEmpty()方法的区别
1.isBlank()方法 1 public static boolean isBlank(String str) { 2 int strLen; 3 if (str == null || (strL ...
- Windows 控制台命令笔记
1. cmd中输出中文乱码问题: CHCP是一个计算机指令,能够显示或设置活动代码页编号. C:\windows\system32>CHCP 活动代码页: 936 原因是我们使用了GBK编码,下 ...
- 利用django打造自己的工作流平台(二):疫情统计系统
相关文章: 利用django打造自己的工作流平台(一):从EXCEL到流程化运作 本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己开发的工作流平台中添加了一个用于排查统计可能受感 ...
- python join 和setDaemon 简介
Python多线程编程时,经常会用到join()和setDaemon()方法 1.join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等 ...
- The problem: somthing wrong when my computer excute the command "git clone XXXX"
Error:git@github.com: Permission denied (publickey).fatal: Could not read from remote repository. Pl ...
- 四、spring集成ibatis进行项目中dao层基类封装
Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...
- wyh的dp入门刷题笔记
0: 靠前感觉之前dp抄题解都是抄的题解,自己从没有真正理解过dp.wyh下了很大决心从头学dp,于是便有了这篇文章. 1.背包 前四讲01背包&多重背包&完全背包(混合背包) :樱花 ...
- Day1-Luogu-1631
题目描述 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2N2个和,求这N^2N2个和中最小的N个. 输入输出格式 输入格式: 第一行一个正整数N: 第二行N个整数A_iAi, ...
- 黑马客户管理系统(SSM)
黑马客户管理系统 1系统概述 1.1系统功能介绍 本系统后台使用SSM框架编写,前台页面使用当前主流的Bootstrap和jQuery框架完成页面信息展示功能(关于Bootstrap的知识,有兴趣的读 ...
- POI 2001 Goldmine 线段树 扫描线
题目链接 http://www.acm.cs.ecnu.edu.cn/problem.php?problemid=1350 http://main.edu.pl/en/archive/oi/8/kop ...