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

Send an array using javascript to Spring controller

本文关键字:数组 一个 Spring 控制器 javascript 使用      更新时间:2023-09-26

我正在使用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){

I给出一个错误。我不想使用AJAX。这个可以发吗?

编辑

Javascript中检索数组的函数是:

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

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

您可以使用以下命令获取发送给spring控制器的所有请求参数:

@RequestParam Map<String,String> allRequestParams

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

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

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