Ionic 4 / angular 6: api тестирования на локальном хосте попадает в "~ net :: err_connection_refused"

Я новичок в Ionic и Angular, и, вероятно, мой вопрос примитивен, но было бы полезно, если бы кто-то мог мне помочь и объяснить, что не так!

Я просто проходил через этот учебник, делал то же самое и пытался понять код. Все было нормально, но на финальном тестировании я получил ошибку:

OPTIONS http://localhost:1337/localhost:3000/api/classroom net::ERR_CONNECTION_REFUSED

И похоже, что другой пользователь тоже получил это и оставил комментарий, но это не было решено. Можете ли вы помочь мне с этим?

Кстати, ошибка другого пользователя: «Свойство 'location' не существует для типа 'DetailPage'». тоже есть, но ну это не так критично ...

Заранее спасибо!

0
0
603
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ошибка ясно говорит о том, что он не может достичь серверного API, потому что вы его не запустили.

это упоминается в разделе требуемых инструментов. а также содержит ссылку на исходный код REST API.

пожалуйста, прочтите руководство еще раз, удачи 😉

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

Похоже, что вы используете свой бэкэнд на другом порту, чем ваш интерфейс (ионный). Если вы используете стандартные настройки ionic, ваш интерфейс обслуживается с порта 8100 (localhost: 8100).

Кажется, ваш бэкэнд работает на localhost: 3000

Поэтому, когда вы звоните, вы делаете запрос на другой источник
По соображениям безопасности этот вызов по умолчанию не разрешен на сервере.
Чтобы разрешить это, вам необходимо установить такой пакет, как https://enable-cors.org/server_expressjs.html (если вы используете nodejs в качестве бэкэнда) или https://github.com/ottoyiu/django-cors-headers (если вы используете django) или аналогичный пакет для вашего бэкэнда.
Запросы ПАРАМЕТРЫ отправляются на ваш сервер до того, как ваш фактический запрос будет отправлен на сервер в запросе с перекрестным происхождением. Он в основном спрашивает сервер, разрешена ли операция, которую он хочет выполнить. После того, как вы успешно настроите пакет для обработки CORS на своем сервере, ваш вызов api должен работать.

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