Как принять Параметр массива JavaScript в Весеннем Диспетчере MVC в jQuery ajax требование?

Я hava jQuery ajax звоню как это:

var arr = ["a", "b", "c"];
$.get("/test", {testArray: arr}, function(data) {
    alert(data);
});

серверная сторона:

@RequestMapping(value = "/test", method = RequestMethod.GET)
public String addAnotherAppointment(
        HttpServletRequest request,
        HttpServletResponse response,
                    @RequestParam("arr") arr,
        Model model,
        BindingResult errors) {
}

Таким образом, как я получаю параметр?

Спасибо.

0
nl ja de

2 ответы

При использовании весну 3.0 ++, используйте "@ResponseBody" аннотацию.

Вы хотите отправить json запрос и получить ответ от json? Если так, вы измените свой код как это.

var list = {testArray:["a", "b", "c"]};
$.ajax({
    url : '/test',
    data : $.toJSON(list),
    type : 'POST', //<== not 'GET',
    contentType : "application/json; charset=utf-8",
    dataType : 'json',
    error : function() {
        console.log("error");
    },
    success : function(arr) {
        console.log(arr.testArray);
        var testArray = arr.testArray;
         $.each(function(i,e) {
             document.writeln(e);
         });
    }
  });

серверная сторона:

  1. create your own "Arr" class.

    public class Arr {
     private List testArray;
     public void setTestArray(List testArray) {
         this.testArray = testArray;
     }
     public List getTestArray() {
         return testArray;
     }
     }
    

    and

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    @ResponseBody// <== this annotation will bind Arr class and convert to json response.
       public Arr addAnotherAppointment(
       HttpServletRequest request,
        HttpServletResponse response,
        @RequestBody Arr arr, 
        Model model,
        BindingResult errors) {
            return arr;
    }
    
3
добавлено
В основном вам нужен класс обертки, чтобы содержать ваше множество в вашем диспетчере.
добавлено автор magicbacon, источник
прочитайте это Вопросы и ответы: stackoverflow.com/questions/2259551/…
добавлено автор Oh Jong Am, источник

Изменение @RequestParam ("прибытие") прибытие, , чтобы @RequestParam ("testArray") Последовательность [] прибытие

Also change your HTTP method from get to post

Пожалуйста, обратите внимание, что стоимость @RequestParam должна соответствовать, название параметра посылают из jQuery ajax. В вашем случае имя param testArray , и стоимость прибытие

1
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async