CORS со встроенным встроенным скриптом для сторонней службы

Я только что отказался от create-react-app и продолжаю сталкиваться с проблемами CORS. Я пробовал следующее внутри webpack-dev-server:

headers: {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
  'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
  'Access-Control-Allow-Credentials': true
},

А также с промежуточным программным обеспечением express:

before(app, server) {
  app.use(cors());
  // ...
}

Ни один из этих подходов не работает, поэтому я решил запустить свой браузер для локальной разработки, отключив веб-безопасность. Проблема, похоже, в том, что все вызовы API получают соответствующий headers, однако ресурс, вызывающий ошибку, является встроенным скриптом, который мы включаем в index.html. Любые идеи?

Ошибка в браузере:

Access to XMLHttpRequest at '***URL***' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Какая у вас ошибка?

rpadovani 07.01.2019 16:12

обновлено, @rpadovani

Detuned 07.01.2019 16:18

Можете ли вы убедиться, что вы получаете эти заголовки обратно, то есть как выглядит ответ в инструментах разработчика вашего браузера? AFAIK вам не нужно указывать Content-Type или Authorization в списке allow-headers, но это не должно быть проблемой.

Rup 07.01.2019 16:18

Как я могу это проверить, @Rup?

Detuned 07.01.2019 16:18

Если вы используете Chrome, откройте инструменты разработчика при отправке запроса, а затем вы можете использовать вкладку «Сеть», чтобы увидеть заголовки и тело ответа. Я ожидаю, что другие браузеры тоже сделают это, но не знаю, как именно: где бы вы ни нашли консоль JavaScript, я ожидаю увидеть вашу ошибку.

Rup 07.01.2019 16:19

@Detuned, пожалуйста, проверьте код на стороне сервера (локальный: 3000), включен ли фильтр CORS или нет

TheSprinter 07.01.2019 16:21
***URL*** должен возвращать эти заголовки, вы не можете установить их с запрашивающей стороны, это не то, как работает CORS.
misorude 07.01.2019 16:34

Я понимаю, в чем проблема ... все вызовы API, проходящие через WebPack, имеют заголовки, однако ресурс, вызывающий ошибку, на самом деле является встроенным скриптом. У нас есть внешний ресурс, который требуется просто вставить на нашу веб-страницу. Есть идеи о том, как решить эту проблему CORS? Спасибо за помощь!!!

Detuned 07.01.2019 20:35

Предположение, может ли это быть комбинация домена '*' и учетных данных правдой?

RemcoGerlich 07.01.2019 20:38

Не понимаю, что вы имеете в виду, @RemcoGerlich

Detuned 07.01.2019 20:46

На прошлой неделе у меня была проблема, когда браузер жаловался, что в моих заголовках CORS есть как allow-origin: '*', так и allow-credentials: true. Это сработало, когда я поместил определенные домены в allow-origin. Но я просто гадаю на встрече.

RemcoGerlich 07.01.2019 21:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
11
211
0

Другие вопросы по теме