使用javascript将数组发送到Spring控制器

时间:2016-10-19 10:07:46

标签: javascript spring

我正在使用javascript打电话,我想发送一个数组:

var selected = [];
selected=getAllEnginesIdsSelected();
    console.log("selected: "+selected);
    $.getJSON('/call/' + selected,
            function(myList) {

Console.log检索所选:2,5

在MVC控制器中我有

@RequestMapping(method = RequestMethod.GET, value = "/call/{selected}")
public List<List<myList>> myCall(@RequestParam(value="selected[]") String[] selected){

我发错了。我不想使用AJAX。这是可以发送的吗?

修改

我在Javascript中用来检索数组的函数是:

function getAllEnginesIdsSelected() {

        var selected = [];

        $("input:checkbox[id^='engine_']:checked").each(function(){
            var ele=$(this)[0].id;
        });

        return selected;

    }

2 个答案:

答案 0 :(得分:0)

我猜您应该在控制器中使用@PathVariable而不是@RequestParam

答案 1 :(得分:0)

您可以使用以下命令获取发送到spring controller的所有请求参数:

@RequestParam Map<String,String> allRequestParams

您需要为每个参数指定一个名称,以便以后检索它们:

?a=1&b=2&c=3

另一种方法是序列化您的数据并向控制器发送POST请求。