Spring MVC отправляет и получает параметры с помощью ajax

Я отправляю запрос ajax на контроллер Spring. Но он ничего не показывает КОГДА я отправляю запрос.

Мой запрос ajax

  $(".secs li a").on("click",function(e){
      e.preventDefault();
      var id = $(this).data("value");
          $.ajax({
              url:"../tmax",
              type:"POST",
              data:{id:id},
              success: function(response){
                  $("#testdata").html(response);
              }
          })

      })

И мой контроллер

@RequestMapping(value = "/tmax", method = RequestMethod.POST)
public ModelAndView tmax(@RequestParam("id") String id) {
    ModelAndView model = new ModelAndView("tmax");
    model.addObject("dataCOLL", userService.finddataCOLLById(id));
    return model;
}   

Отправляю запрос в home.jsp. Данные должны получить tmax.jsp и отобразиться в home.jsp.

Моя страница tmax.jsp

<p>Hello World</p>

Спасибо

Вы не отправляете параметры. Вы отправляете тело запроса.

M. Deinum 07.05.2018 11:40

@ M.Deinum Да ... Но привет мир должен напечатать "знать" ИЛИ мне нужно получить сообщение console.info

Ashok Charu 07.05.2018 11:42

Нет, не должно. Поскольку параметра нет, запрос приведет к ошибке.

M. Deinum 07.05.2018 11:42

@ M.Deinum Хорошо, я проверю

Ashok Charu 07.05.2018 11:46

@ M.Deinum Теперь я передал параметр и получаю ошибку 404

Ashok Charu 07.05.2018 12:27

Я нигде не вижу, чтобы вы отправляли параметры (если вы не обновляли свой вопрос).

M. Deinum 07.05.2018 12:33

@ M.Deinum Меня смущает ваш комментарий, он установил data в ajax, почему вы говорите, что он не отправляет параметр?

lucumt 07.05.2018 12:38

Поскольку он отправляет тело запроса JSON ... Тело запроса не является параметром.

M. Deinum 07.05.2018 12:39

@Ashu: попробуйте этот подход для передачи данных параметров: {'field1': 'hello', 'field2': 'hello1'},

Ved Prakash 07.05.2018 12:39

@ M.Deinum, вы имеете в виду produces = MediaType.APPLICATION_JSON_VALUE? ну, я думаю, что пользователь может удалить эту конфигурацию, потому что он не установил dataType в ajax

lucumt 07.05.2018 12:39

Удаление этого может заставить его работать, но AFAIK .ajax по умолчанию отправляет тело запроса с JSON, а не запрос формы (но это может быть потому, что я слишком много отправляю JSON, а не формы).

M. Deinum 07.05.2018 12:44

@ M.Deinum Ошибка, допущенная в процессе набора текста, Для успеха я написал успех.

Ashok Charu 07.05.2018 13:51

@AshokCharu Не могли бы вы поделиться кодом HTML для вызова этого Ajax?

Ved Prakash 13.05.2018 00:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
13
921
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это с помощью $ .ajax или $ .post

Использование $ .ajax:

    $.ajax({
      type: 'post',
      url: 'tmax',   //*why you are using double dot?  url:"../tmax",* 
      data: { 
        'field1': 'hello', 
        'field2': 'hello1'
      },
      success: function (response) {
        alert(response.status);
      },
      error: function () {
        alert("error");
      }
   });

Использование $ .post:

    $.post('tmax',
      { 
        'field1': 'hello', 
        'field2': 'hello1'
      },
      function (response, status) {
        alert(response.status);
      }
    );

Ошибка, допущенная в процессе набора успех, и теперь она работает

  $(".secs li a").on("click",function(e){
      e.preventDefault();
      var id = $(this).data("value");
          $.ajax({
              url:"../tmax",
              type:"POST",
              data:{id:id},
              sucess: function(response){
                  $("#testdata").html(response);
              }
          })

      })

Ваш ответ не работает. Проблема в том, что я не получаю ответа.

Ashok Charu 07.05.2018 12:56

Когда я даю URL только tmax, как вы указали, я получаю сообщение об ошибке. если я дам ../tmax, я ничего не получу

Ashok Charu 07.05.2018 13:02

Проблема в том, что я не получаю сообщений об ошибках.

Ashok Charu 07.05.2018 13:09

@AshokCharu Пожалуйста, проверьте, работает ли ваш вызов ajax .. ** $ (". Secs li a"). On ("click", function (e) {** подтвердите, что эта строка работает, или не пытайтесь предупредить ваш идентификатор

Ved Prakash 07.05.2018 13:28

Другие вопросы по теме