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并遍历的更多相关文章

  1. ajax 传递数组类型参数后台接收不到的问题

    在做排序功能的时候需要将一个数组的数据传递到后台,(当时怎么没用json,如果用json就没有那么多的事情了),数据提交采用ajax! 先看代码 js: submitbtn: function () ...

  2. ajax传递数组到后台

    //实体类 public class Person { private int ID{get;set;} private string Name{get;set;} private int Age{g ...

  3. ajax传递数组到后台,js传递数组到后台

    用angular做商品搜索功能,后台接口那边过滤条件必须传递数组过去,结果比较尴尬的事情发生了,每次传递数组过去,查看请求发送的数据,自动被转成了对象,很头疼. 数据传递前 传递后我查看了请求的数据 ...

  4. ajax传递数组及后台接收

    ajax传递的是{"items":arr},其中arr=[]; 在后台String[] items=req.getParameterValues("items" ...

  5. ajax 传递数组给后台.net MVC 控制器

    数组结构为: [ "5ae92c2786f3591b2cff1be5", "5ae91bb7ca673569a8d23a6e" ] 前台代码: $.ajax({ ...

  6. ajax传递数组,后台更新

    js: var rows = $("#stu_reg_table").datagrid("getSelections"); if(rows != "& ...

  7. ajax传递数组,后台接收为null解决方法

    traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...

  8. jquery ajax传递数组给php

    写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://w ...

  9. ajax 传递数组参数

    一.ajax 传递数组参数 需要添加: traditional: true, let typeIDArr = [,,,,,]; var that = this; var url = '@Url.Act ...

随机推荐

  1. Java - 使用hibernate配置文件 + JPA annotation注解操作数据库

    本程序运行环境:IDEA. 实际上我对hiberbate与注解的关系还不是太清晰.据我所知注解都是Java JPA的,那么我的理解是:hibernate就应该只是通过这些JPA标识及hibernate ...

  2. 利用django打造自己的工作流平台(二):疫情统计系统

    相关文章: 利用django打造自己的工作流平台(一):从EXCEL到流程化运作 本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己开发的工作流平台中添加了一个用于排查统计可能受感 ...

  3. css属性选择器: | 与 ~

    [attribute|=value] 选择器用于选取带有以指定值开头的属性值的元素. 注释:该值必须是整个单词,指属性的值是一个完整的单词,并未被中断.如“eng”."img".& ...

  4. Django 学习之From组件

    一.Form组件介绍 Form组件可以做的几件事情: 1.用户请求数据验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确这,保留上次输入的内容 4.自动创建i ...

  5. Django 学习 之路由层(URL)

    路由层(URL) 1.路由层简单配置 (1)path方法 写固定的url. (2)re_path方法 可以正则规则 例: urlpatterns = [ path('admin/', admin.si ...

  6. 使用SourceTree的注意事项

    1.我使用SourceTree时,使用的下面的配置全局忽略: *~ .DS_Store xcuserdata 2. 远程仓库的url路径不要使用域名,而应该使用ip地址.否则会显示“这是一个无效的ur ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:水平表单

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. C# 增加时间的三个方法

    第一个是使用方法形式的实例方法: incrementer.CountedADozen += IncrementDozensCount;  //方法引用形式 第二个是使用方法形式的静态方法: incre ...

  9. SAP BO WebI 如何连接webi server folder下面的EXCEL文件作为数据源

    昨天做Webi Report,需要连接一个在Webi Server Folder下面的EXCEL文件作为数据源,然后再去生成相应的报表,找了半天才找到可以连接Webi Server Folder的EX ...

  10. Codeforces 598E:Chocolate Bar

    E. Chocolate Bar time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...