#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