1 Ajax 请求参数为数组解决方案

1.4 的版本中, 会默认对请求参数进行深度序列化,所以传递的参数为数组时,后端无法直接对请求参数进行绑定

传递数组的格式:

1.1 解决方案一

设置 ajax traditional 属性
traditional:是否使用传统的方式浅层序列化


前端传递参数:

$.ajax({// 使用传统的方式进行序列化traditional: true,url: "stu/deleteStu.action",data: {// ids 请求参数类型为数组ids: ids},success: function (data) {...},dataType: "json"});

传递参数:

后端绑定参数:

@ResponseBody
@RequestMapping("/deleteStu.action")
public Result deleteStu(@RequestParam("ids") ArrayList<String> ids){boolean removeStatus = stuService.removeByIds(ids);return new Result(removeStatus ? "删除成功" : "删除失败", removeStatus);
}

1.2 解决方案二

使用 request 对象 getParameterValues() 方法

前端传递参数:

$.ajax({url: "stu/deleteStu.action",data: {ids: ids},success: function (data) {...},dataType: "json"});

传递参数:

后端绑定参数:

@ResponseBody
@RequestMapping("/deleteStu.action")
public Result deleteStu(HttpServletRequest request){String[] arr = request.getParameterValues("ids[]");boolean removeStatus = stuService.removeByIds(Arrays.asList(arr));return new Result(removeStatus ? "删除成功" : "删除失败", removeStatus);
}

1.3 解决方案三

请求参数格式化为 json 字符串的格式
需要设置 contentType: "application/json"
请求方法类型 post
使用@RequestBody 注解

前端传递参数:

$.ajax({url: "stu/deleteStu.action",type: "POST",contentType: "application/json",data: JSON.stringify(ids),success: function (data) {...},dataType: "json"});

请求参数:

后端绑定参数:

@ResponseBody
@RequestMapping("/deleteStu.action")
public Result deleteStu(@RequestBody String[] ids){boolean removeStatus = stuService.removeByIds(Arrays.asList(ids));return new Result(removeStatus ? "删除成功" : "删除失败", removeStatus);
}

1.4 解决方案四

前端拼接字符串

前端传递参数:

idStr += this.id + ",";
$.ajax({url: "stu/deleteStu.action",data: {idStr: idStr},success: function (data) {...},dataType: "json"});

请求参数:

后端绑定参数:

@ResponseBody
@RequestMapping("/deleteStu.action")
public Result deleteHost(String idStr){String[] ids = idStr.split(",");boolean removeStatus = stuService.removeByIds(Arrays.asList(ids));return new Result(removeStatus ? "删除成功" : "删除失败", removeStatus);
}

ajax请求参数为数组解决方案相关推荐

  1. ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败

    Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...

  2. 基于Spring Security的AJAX请求需要登录的解决方案

    基于Spring Security的AJAX请求需要登录的解决方案 参考文章: (1)基于Spring Security的AJAX请求需要登录的解决方案 (2)https://www.cnblogs. ...

  3. php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...

  4. SpringMVC的请求-获得请求参数-获得数组类型参数

    Controller中的业务方法数组名称与请求参数的name一致,参数值会自动映射匹配. @RequestMapping(value="/quick13") @ResponseBo ...

  5. ajax请求参数为中文乱码的情况

    解决中文乱码问题的方法有很多. 一.前提是ajax请求传递参数对象到后台,对象中的某个参数的值为中文,到后台之后出现乱码,导致报错.问题解决如下: rest层: 二.在tomcat的server.xm ...

  6. php的mvc中的ajax请求参数为空,AJAX_asp.net中mvc使用ajax提交参数的匹配问题解决探讨,想到在asp.net的mvc中如果使用aja - phpStudy...

    asp.net中mvc使用ajax提交参数的匹配问题解决探讨 想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总 ...

  7. ajax请求参数datatype,ajax datatype参数会遇到什么问题?

    Ajax的请求使用的过程中,通常都会遇到一些问题,尤其是dataType参数引发了很多问题,接下来小编带大家一起来了解下吧. Ajax的"dataType"参数可能会使用不当$.d ...

  8. jsp怎么接受ajax请求参数,通过ajax发送JSON并通过JSP中的请求获取参数

    我需要通过ajax(使用Jquery)发送JSON对象,并通过JSP(服务器端)中的请求对象获取所有参数.通过ajax发送JSON并通过JSP中的请求获取参数 我的JS代码: var request ...

  9. ajax请求上传数组

    1.ajax提交添加"traditional:true"参数 注:https://blog.csdn.net/loster_Li/article/details/80916279 ...

  10. JS ajax请求参数格式( formData 、serialize)

    1 $("#importBtn").click(function(){ 2 if($("#conId").val() == ""){ 3 a ...

最新文章

  1. Codeforces.487C.Prefix Product Sequence(构造)
  2. eclipse中maven打包
  3. 能详细地讲讲stm32该怎么学吗?
  4. mysql back blog_mysql的备份Xtrabackup
  5. ionic一些常见问题及方法
  6. Android之Inflate()方法用途+setContentView和inflate区别
  7. Spring框架IOC和AOP的实现原理
  8. tcp四次挥手,为什么是四次?
  9. ie8浏览器自定义工具栏设置教程
  10. cs寄存器 x86 特权模式_Windows操作系统管理进程和线程:内核模式和用户模式
  11. 网络编程之 进程间的通信之管道的使用
  12. 如何下载Visual Studio Code及配置教程
  13. Mac OSX上折腾JDK
  14. 常用符号计算机输入法,九种常用输入法特殊符号功能揭密输入法 -电脑资料
  15. 研报解读 | 中国云计算:从数据看未来
  16. 临危受命 青力支持:“信豫链”及时上线 保障河南中小企业带“资”复工
  17. 3分钟搞定下载微信视频号视频!无需第三方软件,亲测有效!
  18. 主机开启后,显示器显示NO SIGNAL,无信号
  19. Vue 3 Component emitted event “confirmForm“ but it is neither declared in the emit
  20. AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID

热门文章

  1. 应用之星:在线手机应用开发平台 不用搭建环境
  2. win 10简繁体切换快捷键
  3. Ubuntu系统下搭建FTP服务器图解
  4. 2003服务器安全策略
  5. 学习python的第二周 第一天
  6. 计算机毕业设计Android的手机点名签到学生请假考勤系统(源码+系统+mysql数据库+Lw文档)
  7. 【HoloLens】启用Mixed Reality Portal混合现实门户
  8. 泊松过程2 | 泊松过程扩展
  9. 用Python解决女朋友看电影没字幕的需求
  10. 从零写CRNN文字识别 —— (1)准备工作