Как передать значения из jquery в Spring Controller и вернуть список? - PullRequest
0 голосов
/ 24 марта 2020

Я работаю над простым проектом, в котором мне нужно передать некоторые параметры формы, такие как имя базы данных и запрос в Spring Controller. Контроллер передает запрос в соответствующий класс обслуживания (соответствующий dbname) и возвращает набор результатов в виде java .util.List. Я использую Jquery / ajax для передачи значений в контроллер, но значения не доходят до контроллера. Ниже мой код.

JQuery / ajax

'''
    function ajaxAsyncRequest()
    {
    //Creating a new XMLHttpRequest object
    var xmlhttp;
    var dbname = document.getElementById("dbradio").value;
    var query = document.getElementById("myTextBox").value;
    alert(dbname)
    alert(query)

    $.ajax({
        type: "GET",
        url: "/getResult",
        data: "dbradio="+dbname+"&myTextBox="+query,

        success: function(response)
        {
            $('#resultList').html(response);
        },
        error: function(e)
        {
            alert('Error: ' + e);
        }
      });

    }

'''

JSP:

'''


    <form action="" target="result">

      <input type="radio" id="dbradio" value="mysql"> MySQL
      <input type="radio" id="dbradio" value="redshift"> RedShift

      <textarea id="myTextBox" cols="50" rows="10" style="background-color:#FCF5D8;color:#AD8C08;"> 
      </textarea>


       <p><input type="submit" value="Submit" onclick='ajaxAsyncRequest()'/></p>
       </form>

'''

Controller

'''



        @RequestMapping(value="/getResult", params = { "dbradio", "myTextBox" }, method = 
             RequestMethod.GET)

        public List<Map<String,Object>> getResult(@RequestParam("dbradio") String dbname, 
         @RequestParam("myTextBox") String query, HttpServletRequest req, HttpServletResponse res) {

        System.out.println("In Controller");
        System.out.println(dbname);
        System.out.println(query);
        List<Map<String,Object>> queryResult = service.getQureyResults(query);

        ModelAndView mv= new ModelAndView();
        mv.setViewName("index");    
        mv.addObject("result", queryResult);
        return queryResult;
          }

    '''

POM. xml запись

'''

    <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>2.2.4</version>
    </dependency>

    <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7</version>
    </dependency>

'''

Any help would be appreciated! Thanks

Ответы [ 2 ]

1 голос
/ 24 марта 2020

орфографическая ошибка выскочила на меня: getQureyResults

0 голосов
/ 24 марта 2020

Попробуйте передать данные в формате JSON

$.ajax({
  type: "GET",
  url: "/getResult",
  data: {
    dbradio: dbname,
    myTextBox: query
  },
  success: function(response) {
    $('#resultList').html(response);
  },
  error: function(e) {
    alert('Error: ' + e);
  }
});

Надеюсь, это решит вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...