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

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

Войти через центр авторизации
Похожие вопросы