kotcich
@kotcich
Я скучный.

Как убрать No 'Access-Control-Allow-Origin' от CORS, если в URL нету знака вопроса?

Наверное это странно, но у меня 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, так как на сервере включенно ЧПУ и все при этом работает.
  • Вопрос задан
  • 808 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В определённых случаях браузер делает preflight request. Сначала ресурс запрашивается методом OPTIONS, на который браузер рассчитывает получить ответ 200 с установленными CORS-заголовками. И только если этот запрос прошёл, то делается основной запрос.
Проверьте, что ваш сервер нормально отвечает на OPTIONS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы