Как мне заставить моего клиента общаться с моим серверным API на goorm?

#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

Я также не могу связаться с этим 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. Хорошая идея! Но, к сожалению, ничего не сделал, чтобы изменить поведение.