簡體   English   中英

如何將 javascript 數組發送到 Spring MVC 控制器

[英]How to send a javascript array to Spring MVC controller

我正在嘗試向 Spring MVC 控制器發送一個 javascript 數組..但我得到了空值..

我的 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 控制器請求映射:

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

我在 Requestmapping for promo 中沒有得到任何價值。請幫助我..謝謝!

POST Body 可以在RequestBody而不是在RequestParam接收,其次,如果您像{promo: data}這樣傳遞數組,它將被轉換為HashMap或某些POJO對象而不是數組列表,因此直接傳遞數組,如:

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

並使您的控制器像:

@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
}

你的控制器應該是:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM