#javascript #api #mern
Вопрос:
Я использую этот учебник: https://blog.logrocket.com/mern-stack-tutorial/ , но создание трекера ошибок вместо хранилища книг.
Когда я загружаю корневой путь в клиенте, я загружаю компонент ReactJS (‘ShowBugList.js»). Этот файл отправляет запрос на сервер (в том же контейнере goorm).
В ShowBugList.js
componentDidMount() {
axios
.get('http://localhost:8082/api/bugs/')
.then((res) => {
this.setState({
bugs: res.data,
});
})
.catch((err) => {
console.log('Error from ShowBugList');
console.log(err);
});
}
И я получаю там ошибку.
Я также не могу связаться с этим API с помощью postman(конечно, заменив «localhost» адресом контейнера goorm).
Я проверил порт своего веб-сервера, и он равен 8082.
const port = process.env.PORT || 8082;
app.listen(port, () => console.log(`Server running on port ${port}`));
Я также использую этот маршрут
const bugs = require('./routes/api/bugs');
app.use('/api/bugs/', bugs);
Что я здесь упускаю из виду?
ПРАВКА 1: Я должен добавить, что я изучил все проблемы с CORS, и я думаю, что у меня есть правильные настройки для этого на моей стороне сервера app.js:
// cors
app.use(cors({ origin: true, credentials: true }));
ПРАВКА 2:
Установите локальную версию этого на моем компьютере и воспроизведите проблему. Так что это не специфическая проблема для GoormIDE, а что — то внутри самого кода. Поиски продолжаются.
ПРАВКА 3: Я ввел https в соответствии с приведенным ниже предложением, и это вызвало мою ошибку, когда я перешел на локальную установку. Возврат к http в моей локальной установке заставил это работать. Но я оставлю этот вопрос открытым, если у кого-нибудь есть идеи, как заставить его работать на горме.
Комментарии:
1. Ты уверен, что это
http:
так, а неhttps:
иначе ?2. Хорошая идея! Но, к сожалению, ничего не сделал, чтобы изменить поведение.