TypeError: NetworkError при попытке получить ресурс

Я получаю эту проблему:

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.

Когда я использую консоль, она сказала, что проблема в ней

вставить полную ошибку

1565986223 14.04.2019 11:31

Что происходит на вкладке «Сеть» в инструментах разработчика?

mbojko 14.04.2019 11:40

Попробуйте один раз использовать веб-сайт Google вместо локального хоста.

Neeraj Wadhwa 14.04.2019 11:42

У меня нет попыток подключиться к localhost:3000/api/marks (где у меня есть Rest API)

Rohen 14.04.2019 11:43

Я изменил URL-адрес на www.google.com и обнаружил, что он пытается получить локальный хост: 8080/www.google.com.

Rohen 14.04.2019 11:45

Можете ли вы попробовать вызвать REST API в почтальоне или в браузере, если это запрос GET?

Neeraj Wadhwa 14.04.2019 11:46

Да, когда я пытаюсь использовать метод Get для Rest API, он работает

Rohen 14.04.2019 11:49

Ваше внешнее приложение работает на 8080, если да, то URL-адрес выборки рассматривается относительно локального хоста.

Neeraj Wadhwa 14.04.2019 11:53

Я изменил URL-адрес на полный URL-адрес «локальный хост: 3000/API/метки», поэтому я не думаю, что проблема в URL-адресе выборки.

Rohen 14.04.2019 12:04
event.preventDefault() в прослушивателе событий отправки для javascript на стороне клиента я забыл. Добавление, которое сработало для меня.
nsrCodes 14.03.2021 00:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
10
23 927
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как я вижу для этой ошибки

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

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