1

我正在使用带有注释控制器方法的 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"]

List<String>但是我得到的 Java在第一个和最后一个元素中添加了额外的 [ 和 ]:

[["770409362", "771999003", "775080915", "775119397", "775831772"]]

并且报价仍然存在。

我不知道如何摆脱它。非常感谢任何帮助!

4

2 回答 2

1

发布后几秒钟找到了 join() 方法:

http://www.w3schools.com/jsref/jsref_join.asp

所以我做了

{ids: $ids.get().join()}

这给了我

ids:133753573,1198385893,1513233125,12117275

相反,哪个有效。然而,这似乎不是正确的方法。真的想要某种最佳实践的 Spring/jQuery 方法吗……?

于 2012-05-14T15:27:17.580 回答
0

尝试 在服务器端使用@RequestBody List<String> ids而不是。@RequestParam List<String> ids

于 2012-05-14T19:32:01.397 回答