javascript - 如何将 javascript 数组发送到 Spring MVC Controller

标签 javascript java spring

我正在尝试将 javascript 数组发送到 Spring MVC Controller ..但我得到空值..

我的 JavaScript 代码:

for (var n = 1; n < rowCount; n++) {
            cells = rows[n].cells;
            data.push([
                cells[0].firstElementChild.checked,
                cells[1].firstElementChild.value,
                cells[2].firstElementChild.value,
                cells[3].firstElementChild.value,
                cells[4].firstElementChild.value
           ]);
}

$.ajax({
        url: 'addDetails.html',
        type:"POST",
        data:
{promo : data}

我的 Spring MVC Controller 请求映射:

@RequestMapping("/addDetails")
    public @ResponseBody void addEntity(
            @RequestParam(value="promo") List<String> promo) throws IOException {

我在促销请求映射中没有获得任何值(value)。请帮助我..谢谢!

最佳答案

POST Body 可以在 RequestBody 中接收,而不是在 RequestParam 中接收,其次,如果您像 {promo: data} 那样传递数组将被转换为 HashMap 或某些 POJO 对象而不是数组列表,因此直接传递数组,如下所示:

$.ajax({
        url: 'addDetails.html',
        type:"POST",
        data:data

并使你的 Controller 像这样:

@RequestMapping("/addDetails", method = {RequestMethod.POST})
public @ResponseBody void addEntity(
            @RequestBody List<String> promo) throws IOException {

更新 如需更多数据,您可以创建一个 POJO 类:

public class MyData{
    private String lname;
    private String lstate;
    private String lrta;
    private String lse;
    private List<String> promo;

   ... Getters and Setters
}

你的 Controller 应该是:

@RequestMapping("/addDetails", method = {RequestMethod.POST})
public @ResponseBody void addEntity(
                @RequestBody MyData myData) throws IOException {

关于javascript - 如何将 javascript 数组发送到 Spring MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60647951/

相关文章:

java - 仅在 java 中格式化时间 - 来自文本文件

java - 如何将特定的 ExecutorService 与 @Async 一起使用?

spring - 未为文件 Intellij IDEA 配置文件集

javascript - 带 CSS 和 jQuery 的 jquery 自动图像 slider

javascript - DOMDocument 去除 JavaScript 字符串中的 HTML 标签

java - 支持来自 Apache FOP PDF 生成的外部 CSS 文件

java - JQuery 更新 <c :forEach> in Spring MVC

javascript - 使用 JavaScript 进行日期验证(出院日期怎么总是大于入院日期)

javascript - 来自 charcodes 的 charcodes > 0xFFFF 的 javascript 中的 Unicode 字符

java - 选择什么 Java Web 框架?