ajax请求参数为数组解决方案
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请求参数为数组解决方案相关推荐
- ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败
Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...
- 基于Spring Security的AJAX请求需要登录的解决方案
基于Spring Security的AJAX请求需要登录的解决方案 参考文章: (1)基于Spring Security的AJAX请求需要登录的解决方案 (2)https://www.cnblogs. ...
- php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用
之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...
- SpringMVC的请求-获得请求参数-获得数组类型参数
Controller中的业务方法数组名称与请求参数的name一致,参数值会自动映射匹配. @RequestMapping(value="/quick13") @ResponseBo ...
- ajax请求参数为中文乱码的情况
解决中文乱码问题的方法有很多. 一.前提是ajax请求传递参数对象到后台,对象中的某个参数的值为中文,到后台之后出现乱码,导致报错.问题解决如下: rest层: 二.在tomcat的server.xm ...
- php的mvc中的ajax请求参数为空,AJAX_asp.net中mvc使用ajax提交参数的匹配问题解决探讨,想到在asp.net的mvc中如果使用aja - phpStudy...
asp.net中mvc使用ajax提交参数的匹配问题解决探讨 想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总 ...
- ajax请求参数datatype,ajax datatype参数会遇到什么问题?
Ajax的请求使用的过程中,通常都会遇到一些问题,尤其是dataType参数引发了很多问题,接下来小编带大家一起来了解下吧. Ajax的"dataType"参数可能会使用不当$.d ...
- jsp怎么接受ajax请求参数,通过ajax发送JSON并通过JSP中的请求获取参数
我需要通过ajax(使用Jquery)发送JSON对象,并通过JSP(服务器端)中的请求对象获取所有参数.通过ajax发送JSON并通过JSP中的请求获取参数 我的JS代码: var request ...
- ajax请求上传数组
1.ajax提交添加"traditional:true"参数 注:https://blog.csdn.net/loster_Li/article/details/80916279 ...
- JS ajax请求参数格式( formData 、serialize)
1 $("#importBtn").click(function(){ 2 if($("#conId").val() == ""){ 3 a ...
最新文章
- Codeforces.487C.Prefix Product Sequence(构造)
- eclipse中maven打包
- 能详细地讲讲stm32该怎么学吗?
- mysql back blog_mysql的备份Xtrabackup
- ionic一些常见问题及方法
- Android之Inflate()方法用途+setContentView和inflate区别
- Spring框架IOC和AOP的实现原理
- tcp四次挥手,为什么是四次?
- ie8浏览器自定义工具栏设置教程
- cs寄存器 x86 特权模式_Windows操作系统管理进程和线程:内核模式和用户模式
- 网络编程之 进程间的通信之管道的使用
- 如何下载Visual Studio Code及配置教程
- Mac OSX上折腾JDK
- 常用符号计算机输入法,九种常用输入法特殊符号功能揭密输入法 -电脑资料
- 研报解读 | 中国云计算:从数据看未来
- 临危受命 青力支持:“信豫链”及时上线 保障河南中小企业带“资”复工
- 3分钟搞定下载微信视频号视频!无需第三方软件,亲测有效!
- 主机开启后,显示器显示NO SIGNAL,无信号
- Vue 3 Component emitted event “confirmForm“ but it is neither declared in the emit
- AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID