Как вы отправляете запрос перекрестного происхождения с локального хоста?

#javascript #ajax #cors #xmlhttprequest

#javascript #ajax #корс #xmlhttprequest #cors

Вопрос:

Мой интерфейс запущен на localhost: 8080, а мой сервер — на localhost: 3000. Я хотел бы отправить запрос из моего интерфейса на сервер. Когда я это делаю, я получаю следующую ошибку:

Доступ к XMLHttpRequest по адресу ‘localhost:3000/create-sharable-url’ из источника ‘http://localhost:8080 ‘ заблокирован политикой CORS: запросы перекрестного происхождения поддерживаются только для схем протоколов: http, data, chrome, chrome-extension, https.

Я использую протокол http, так почему же я должен получать эту ошибку?

Я пытаюсь сделать запрос из localhost протокола, поэтому эта ошибка заставляет меня думать, что это просто невозможно сделать. Но, с другой стороны, отправка запроса от вашего клиента на ваш сервер в режиме разработки кажется невероятно распространенным требованием.

Поиск в Google, похоже, указывает мне на то, как установить заголовки CORS в ответе. Я уже устанавливаю заголовки на своем сервере (используя пакет npm cors), но я решил, что все равно попробую. Но у меня это не сработало. Не работало расширение Access-Control-Allow-Origin: * Chrome, а также запуск Chrome с флагом отключить веб-безопасность.

Клиентский JS

 createSharableEquityCalculatorURL: function (storeState) {
  let data = this._constructEquityCalculatorData(storeState);

  return Vue.axios.post(`${process.env.BASE_API_URL}/create-sharable-url`, data);
},
  

Комментарии:

1. @ADyson Ах, точно. Итак, тогда это выглядит так, как будто протокол — http. Если да, то почему я должен получать сообщение об ошибке? Http указан в качестве одной из схем протоколов, которые поддерживаются в сообщении об ошибке.

Ответ №1:

Тот факт, что в нем говорится «Доступ к XMLHttpRequest по адресу ‘localhost:3000/create-sharable-url «, заставляет меня думать, что в вашем JS вы забыли поместить http:// в начале целевого URL.

Напишите это полностью в своем коде, т.Е. http://localhost:3000/create-sharable-url

Комментарии:

1. Я потратил 3 часа на поиск в Интернете, ничего не сработало, и это был ответ