SpringBoot RestController с @RequestParam и jQuery $.get()

#javascript #java #jquery #ajax #thymeleaf

#язык JavaScript #Ява #jquery #аякс #тимелиаф

Вопрос:

Я хочу сделать свой небольшой проект и создать приложение библиотеки с API на Java и пользовательским интерфейсом с помощью ThymeLeaf и jQuery. Вот мой контроллер

 @GetMapping(value = "/books-genre")  public Listlt;BookDtogt; findBooksByGenre(@RequestParam(name = "genre2") String genre) {  System.err.println(genre);  Listlt;Bookgt; books = BookService.findBooksByGenre(genre);  return bookDtoConverter.booksToDto(books);  }  

Вот мой пользовательский интерфейс в AJAx.

 lt;scriptgt;  function findBooksByGenre () {  var x = document.getElementById("genre").value;  console.log(x);  var param = $.param(genre, x);  var param2 = {  genre : x  };  $.getJSON('/books-genre/'   $('#genre2').val()).done(function (books2) {  alert(books2.length);  books2.forEach(function (book2) {  coment = book2.comments.length;  cond = coment != 0 ? coment : 'no comments';  $('tbody').append(`  lt;trgt;  lt;tdgt;${book2.id}lt;/tdgt;  lt;tdgt;${book2.name}lt;/tdgt;  lt;tdgt;${book2.author.name}lt;/tdgt;  lt;tdgt;${book2.genre.name}lt;/tdgt;  lt;tdgt; ${cond}  lt;a href="comments/?bookId=${book2.id}"gt;viewlt;/agt;  lt;/tdgt;  lt;/trgt;  `)  });  })  }; lt;/scriptgt;   lt;div class="a"gt;  lt;h2gt;Optionslt;/h2gt;  lt;form action=""gt;  lt;label for="genre"gt;Choose by genre: lt;/labelgt;  lt;input type="text" id="genre"/gt;  lt;input type="submit" onclick="findBooksByGenre()" value="Submit"gt;lt;brgt;lt;brgt;  lt;/formgt; lt;/divgt;  

Я хочу сделать стол с этими книгами. Но каждый мой зов ничего не делает! Как будто getJSON вообще не видит моих параметров запроса! Я также пробую другие функции, например, просто get(/books-genre, {genre2 : drama}).done()...... ничего не меняется. Пожалуйста, помогите мне сказать, что я делаю не так…. Потому что другой контроллер без параметров запроса работает хорошо

Это скриншот моего запроса, который я пытаюсь вызвать

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Я предлагаю вам сделать следующее: Скопируйте/вставьте свой запрос из инструментов разработчика в свой браузер, перейдите на вкладку —gt; Сеть, сделайте свой запрос, чтобы мы могли увидеть полный вызов, который вы делаете. Посмотрите, что такое код HttpStatus, и посмотрите, есть ли у вас вообще какие-либо исключения.

2. i.stack.imgur.com/ye8Rv.png — это скриншот моего запроса, который я пытаюсь вызвать

3. Картинка….. показывает, что это работает на вас??? Жанр 2, который вы проходите, — это драма….книга, которую вы возвращаете, имеет жанр драмы… Я не понимаю, что для тебя не работает…

4. Извините, я не понимаю, что такое косая черта, которую я должен удалить ?

5. Он не работает, когда я нажимаю кнопку «Отправить». Ничего не происходит. Он работает только тогда, когда я вручную печатаю URL-адрес с запросом, но не в моем пользовательском интерфейсе с функцией AJAX