如何使用jquery ajax将数组传递给Spring控制器方法

前端之家收集整理的这篇文章主要介绍了如何使用jquery ajax将数组传递给Spring控制器方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的ajax电话:
$.ajax({
     type: 'GET',url: contextPath + '/test/location',data: {'objectValues': object.objectValues },datatype: 'json',success: function( data ) {
     var obj = jQuery.parseJSON( data );
     }
   });

它给我这个URL:

?HTTP://本地主机:8080 /测试/位置objectValues [] = 1234567890&安培; objectValues [] = 0987654321

我的Spring方法签名如下所示:

@RequestMapping(value = "/location",method=RequestMethod.GET)
    public @ResponseBody String loadLocation(@RequestParam(value="objectValues",required=false) String[] objectValues)

为什么我为objectValues的值保持null?

解决方法

尝试将RequestParam注释值更改为:
@RequestParam(value="objectValues[]",required=false)

如果这样解决了这个问题,那么这是因为Spring和jQuery之间的参数命名不兼容,其中jQuery要放入方括号来表示参数是一个数组(我也认为PHP也喜欢这个),但是Spring没有不在乎要查看反向尝试将ajax请求的“data”参数设置为字符串:’objectValues = 1234567890& objectValues = 0987654321′

猜你在找的jQuery相关文章