Ошибка запроса на сервер
Проблема заключается в том, что при запросе c фронтенда на сервер выдает либо ошибку, либо пустую строку(просто пусто) в консоль, если отключить Cors в fetch(mode:"no-cors").
Заголовки CORS отключены на сервере, то есть по-идее их быть не должно, но чтобы перестраховаться, после ошибки, я также пытался настроить CORS в fetch: отключал его полностью (mode:"no-cors"), прописывать сами headers.
При этом, когда я отправляю запрос без реакта - на чистом JS или с помощью Postman, строка отображается корректно и сервер отвечает без каких-либо проблем.
(Ах да, почему-то запрос отправляется 2 раза, что видно на картинке ниже, можно также уточнить, почему?)
Бэкенд(Java):
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping
public String hello() {
return "hello";
}
}
Фронтенд(JavaScript, React):
import { useEffect, useState } from "react";
function App() {
const [response, setResponse] = useState("");
useEffect(() => {
fetch('http://localhost:8080')
.then(response => response.text())
.then(text => setResponse(text))
.catch(error => console.error('Error:', error));
}, []);
return (
<div>
{response}
</div>
);
}
export default App;
Источник: Stack Overflow на русском