我正在使用带有带注释的控制器方法的Spring 3.1.1,如下所示:
@RequestMapping(value = "/my/url", method = RequestMethod.POST)
public @ResponseBody Response<SomeModel>
doStuff(HttpServletRequest request, @RequestParam List<String> ids)
我用jQuery发布到这个:
$.post('/my/url',
{ids: JSON.stringify($ids.get())},
function(response) {
alert(response);
}, 'json');
如果我查看来自浏览器的流量,似乎没问题:
ids:["770409362","771999003","775080915","775119397","775831772"]
但是我得到的Java List<String>
在第一个和最后一个元素中添加了额外的[和]:
[["770409362", "771999003", "775080915", "775119397", "775831772"]]
并且还有引号。
我不知道如何摆脱它。任何帮助都非常感谢!
答案 0 :(得分:1)
发布后的秒数找到了join()方法:
http://www.w3schools.com/jsref/jsref_join.asp
所以我做了
{ids: $ids.get().join()}
给了我
ids:133753573,1198385893,1513233125,12117275
相反,哪个工作。然而,这似乎不是正确的方法。真的想要一些最佳实践Spring / jQuery方法......?
答案 1 :(得分:0)
尝试在服务器端使用@RequestBody List<String> ids
代替@RequestParam List<String> ids
。