错误原因
400 请求出错
由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。
415
介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。
检查 data 吧,看看提交到后台的数据是否合法!
这是由于在后台服务端定义的参数与传送的格式对应不上引起的。
解决方法
下面给出正确的使用方式:
jsp文件中
- var pointCodes= new Array();
- pointCodes=$('#pointCodes').val().trim().split(',');
- $.ajax({
- url:'/primer/bind-primer',
- type:"POST",
- data:{"pointCodes":pointCodes,"id":$('#primerId').val()},
- timeout:3000000,
- dataType:"json",
- success:function(res){ alert('成功');}, error:function(){ alert('服务器忙,请稍后再试'); } });
我们在这里的data传递的是一个json文档,里面有数组pointCodes,有id值。
后台接受时如下:
java文件中
- @RequestMapping("/bind-primer")
- @ResponseBody
- public AjaxResult bindPrimer(@RequestParam(value = "pointCodes[]") String[] pointCodes,@RequestParam String id) {
- return AjaxResult.resultSuccess(primerService.bindPrimer(pointCodes, id));
- }
这里的关键在于
SpringMVC传递一维数组:传递数组类型时,需要在@requestParam()中添加value。