js笔记 springmvc接收数组类型参数碰到的问题

xiaoxiao2021-03-01  8

前端js代码:

var addLabels = $('#added_labels input:checkbox'); var labelsArr = [],frwybs = '325614552566x'; $.each(addLabels,function (i,obj) { labelsArr.push(obj.value); }) $.ajax({ url:'/corporatePortrait/saveBusinessLabelRelationship', type:'post', data:{labelsArr:labelsArr,frwybs:frwybs}, success: function (res) { } });

后台代码:

@RequestMapping(value = "/saveBusinessLabelRelationship",method = RequestMethod.POST) @ResponseBody public AjaxResult saveBusinessLabelRelationship(@RequestParam(value="labelsArr",required=false) String[] labelsArr, @RequestParam(value="frwybs",required=false) String frwybs){              ...........            ..........  }

其中参数 labelsArr 后台无法接收到,显示为 null

解决方法:

1. 发送请求时,添加 traditional 属性,并设置为true 即:traditional: true, (traditional 默认为 false 当为true阻止深度序列化,用于传递数组类型参数)。 接收成功!

2. 后台更改接收方式为:

public AjaxResult saveBusinessLabelRelationship(@RequestParam(value="labelsArr[]",required=false) List<String> labelsArr, String frwybs){} 也可接收成功!

 

 

转载请注明原文地址: https://www.6miu.com/read-3450071.html

最新回复(0)