Наверное это странно, но у меня cors выдает ошибку доступа только в том случаи, если fetch в js имееют URL без знака вопроса. CORS настроен и мой Vue проект имеет доступ к серверу.
Так не пускает:
fetch('http://back.ru/role').then(res => { return res.json() })
.then(data => { this.role = data.items });
А так впускает:
fetch('http://back.ru/role?').then(res => { return res.json() })
.then(data => { this.role = data.items });
Причем я пробовал ставить
method: "GET"
предполагая, что может быть нужно явно указывать метод запроса и только так сервер его поймет(на сервере доступен get, post, delete, put). Но нет, даже так он выдает эту ошибку будто бы localhost:8080 не прописан в Access-Control-Allow-Origin, но он прописан. А со знаком вопроса все ок.
P.S.
POST, PUT, DELETE запросы не требуют ? в URL, там она выглядит примерно так
http://back.ru/menu/4
, так как на сервере включенно ЧПУ и все при этом работает.