Я новичок в Ionic и Angular, и, вероятно, мой вопрос примитивен, но было бы полезно, если бы кто-то мог мне помочь и объяснить, что не так!
Я просто проходил через этот учебник, делал то же самое и пытался понять код. Все было нормально, но на финальном тестировании я получил ошибку:
OPTIONS http://localhost:1337/localhost:3000/api/classroom net::ERR_CONNECTION_REFUSED
И похоже, что другой пользователь тоже получил это и оставил комментарий, но это не было решено. Можете ли вы помочь мне с этим?
Кстати, ошибка другого пользователя: «Свойство 'location' не существует для типа 'DetailPage'». тоже есть, но ну это не так критично ...
Заранее спасибо!
Ошибка ясно говорит о том, что он не может достичь серверного 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 должен работать.