#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
/