Я получаю эту проблему:
Response { type: "cors", url: "http://localhost:3000/api/marks",
redirected: false,
status: 200,
ok: true,
statusText: "OK",
headers: Headers,
body: ReadableStream,
bodyUsed: true }
MarkService.js:5
Cross-Origin Request Blocked:
The Same Origin Policy disallows reading the remote resource at
http://localhost:3000/api/marks. (Reason: CORS request did not succeed).
Вот куда указывает
class MarkService {
constructor() {
this.URI = `localhost:3000/api/marks`;
}
async getMarks() {
const response = await fetch(this.URI);
const marks = await response.json();
return marks;
}
}
export default MarkService;
Я пытаюсь сделать приложение с экспрессом в бэкэнде и Webpack для внешнего интерфейса. У меня есть Rest API в бэкэнде, и я не могу использовать его во внешнем интерфейсе.
Я использую Ubuntu с Mozilla Firefox 66.0.2 и Nodejs 11.13.0.
Когда я использую консоль, она сказала, что проблема в ней
Что происходит на вкладке «Сеть» в инструментах разработчика?
Попробуйте один раз использовать веб-сайт Google вместо локального хоста.
У меня нет попыток подключиться к localhost:3000/api/marks (где у меня есть Rest API)
Я изменил URL-адрес на www.google.com и обнаружил, что он пытается получить локальный хост: 8080/www.google.com.
Можете ли вы попробовать вызвать REST API в почтальоне или в браузере, если это запрос GET?
Да, когда я пытаюсь использовать метод Get для Rest API, он работает
Ваше внешнее приложение работает на 8080, если да, то URL-адрес выборки рассматривается относительно локального хоста.
Я изменил URL-адрес на полный URL-адрес «локальный хост: 3000/API/метки», поэтому я не думаю, что проблема в URL-адресе выборки.
event.preventDefault() в прослушивателе событий отправки для javascript на стороне клиента я забыл. Добавление, которое сработало для меня.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как я вижу для этой ошибки
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3000/api/marks. (Reason: CORS request did not succeed)
в нем говорится, что произошла ошибка CORS, и это связано с тем, что интерфейс и сервер размещены в разных доменах или портах, если на локальном хосте, давайте объясним это немного подробнее.
CORS (расшифровывается как Cross Origin Resource Sharing) — это политика безопасности, которая применяется только к Javascript (браузерам), которая блокирует доступ веб-сайтов к другим веб-сайтам с использованием AJAX, если только они не одобрены явным образом с использованием заголовков.
Чтобы решить эту проблему, вам нужно передать определенные заголовки в ответе со стороны сервера, который утверждает CORS для запрашивающего домена, заголовков и методов.
Вы можете прочитать этот статья, чтобы получить глубокие знания о CORS. Или вы можете проверить этот связь, чтобы узнать, как решить проблему, с которой вы столкнулись.
И есть этот Пакет NPM для nodejs, чтобы помочь вам с CORS
вставить полную ошибку