Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2020, 16:47
Аспирант
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 88

Как сделать запрос с учётом CORS?
Я знаю, что этот вопрос 100 раз уже задавался, но я никак не могу избавиться от ошибки:

Access to fetch at 'https://api.seolik.ru/request/age?key=a13c9491b16908e0ac52fad25db8f6f6&domain=seolik.ru' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Я делаю запрос так:
const response = fetch(`https://api.seolik.ru/request/age?key=a13c9491b16908e0ac52fad25db8f6f6&domain=seolik.ru`, {
      method: 'POST', // *GET, POST, PUT, DELETE, etc.
      mode: 'cors', // no-cors, *cors, same-origin
      cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
      credentials: 'same-origin', // include, *same-origin, omit
      headers: {
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin': 'http://localhost:3000',
        'Access-Control-Allow-Headers': "*"
      },
      redirect: 'follow', // manual, *follow, error
      referrerPolicy: 'no-referrer', // no-referrer, *client
    })
      .then(response => response.json())
      .then(json => console.log(json))

Набор option для fetch-а я взял из MDN. Подскажите как решить эту ошибку сделав запрос правильно, не отключая при этом CORS и не используя флаг 'no-cors'?
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2020, 16:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,743

Сообщение от CryNet
как решить эту ошибку сделав запрос правильно, не отключая при этом CORS
А вы ничего и не сможете подключить, разрешения (соответствующие заголовки) дает сервер, который вы запрашиваете. Чтобы решить проблему, либо запрос через прокси, либо через свой сервер.

Последний раз редактировалось laimas, 18.10.2020 в 16:58.
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2020, 17:07
Аспирант
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 88

Сообщение от laimas Посмотреть сообщение
А вы ничего и не сможете подключить, разрешения (соответствующие заголовки) дает сервер, который вы запрашиваете. Чтобы решить проблему, либо запрос через прокси, либо через свой сервер.
Но я могу отключить проверку CORS в браузере и всё будет гуд. Но не хотелось бы
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2020, 17:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,743

Сообщение от CryNet
Но я могу отключить проверку CORS в браузере и всё будет гуд
Да вы у себя что хотите делайте, а как ваши пользователи?
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2020, 18:04
Аспирант
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 88

Сообщение от laimas Посмотреть сообщение
Да вы у себя что хотите делайте, а как ваши пользователи?
А, я понял. На фронте эту проблему не решить. Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 0 12.10.2016 19:58
Как сделать чтоб запрос повторялся до победи? nolik2000 Общие вопросы Javascript 3 02.08.2016 12:12
Как сделать поворот DIV клонов alexgrenn Элементы интерфейса 4 18.04.2016 22:58
Как оборвать на сервере и клиенте запрос если у клиента пропала сеть. beard AJAX и COMET 3 21.12.2012 15:35
POST запрос воспринимается как OPTIONS neshta AJAX и COMET 0 29.03.2011 23:34