Spring Boot AJAX call API

#ajax #spring

#ajax #весна

Вопрос:

Я попытался написать код для ajax call api с контроллера. Я хочу, чтобы ajax получал содержимое api ссылок. У меня проблемы с написанием кода ajax. Пожалуйста, помогите мне написать этот код с помощью ajax

RestController.java

 @Responsebody
@GetMapping("api/hello")
public String hello (){
 return "Hello World";
  

Index.html

   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="ISO-8859-1">
   <title>Insert title here</title>
   </head>
   <body>
   <button type="submit"  name ="clickPost"></button>

   </body>
   </html>
  

Я хочу, чтобы при нажатии кнопки веб-сайт возвращал строки Hello World. Пожалуйста, помогите мне написать код ajax для выполнения этого запроса, я новичок. Если в моем контроллере кода есть ошибка, пожалуйста, измените ее, помогите мне. Спасибо

Ответ №1:

Ваш RestController.java все в порядке (не хватает только ‘}’). На самом деле нет вызова ajax с вашего index.html . Это может выглядеть примерно так:

 <!DOCTYPE html>
<html>
   <head>
       <script>
            function callAPI() {
                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                  if (this.readyState == 4 amp;amp; this.status == 200) {
                    console.log(this.responseText)
                  }
                };
                xhttp.open("GET", "/api/hello", true);
                xhttp.send();
            }
       </script>
   
   </head>
   <body>
    <button onClick="callAPI()">Click me</button>
   </body>
</html>
  

В зависимости от вашей конкретной среды вам все равно может потребоваться обновить URL-адрес API в javascript или включить CORS. Проверьте эти ссылки
https://web.dev/cross-origin-resource-sharing/https://spring.io/guides/gs/rest-service-cors
/