Сообщение Axios не получает ответа (ReactJS)

Мне нужно отправить форму. В настоящее время это работает, если я делаю это в форме HTML, но мне действительно нужно сделать кое-что после этого, поэтому мне нужно сделать это в ответ. Поэтому я использую аксиомы.

Однако, используя axios, я не получаю ответа. Также есть что-то странное, потому что, хотя я делаю почтовый запрос, данные отображаются в браузере в виде строки запроса... Не уверен, что это нормальное поведение.

Вот мой код на стороне сервера:

app.post("/auth/register", async function(req, res, next) {
    // some code
    // my responses are like res.json("/signup/success");
}

на стороне клиента:

onSubmit(event) {
    axios({
        method: "post",
        url: "/auth/register",
        data: {
            username: this.state.username,
            password: this.state.password,
            accountName: this.state.accountName
        },
        withCredentials: true
    }).then(result => {
        console.info(result);
    });
}

Я запускаю сервер на порту 5000, используя экспресс, и я использовал приложение create-react-app для запуска сервера на порту 3000. Для управления аутентификацией, pass.js.

Я использую http-proxy-middleware для проксирования некоторых конечных точек на экспресс-сервер.

После отправки формы получаю в консоли:

Я занимался этим несколько дней, блуждая по stackoverflow и везде, и я полностью застрял ... Может ли кто-нибудь дать мне подсказку, что я могу сделать?

Где вы указываете порт, на который axios должен отправлять запрос?

Treycos 18.02.2019 15:20

у него есть прокси-сервер, поэтому нет необходимости указывать порт... в любом случае, я думаю, что нашел решение (что иронично, так как я занимался этим несколько дней, и в тот момент, когда я решил проглотить гордость и попросить о помощи... я достичь цели). Это было... отсутствие event.preventDefault(). Да, глупая ошибка. Глупая ошибка. Я просто еще раз посмотрю и удостоверюсь, что это работает, и я отправлю ответ дальше, чтобы я мог помочь кому-то другому :)

jpedrosous 18.02.2019 15:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
681
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

axios.create({ базовый URL: http://localhost:5000/ });

установить baseURL перед отправкой запроса.

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

Итак, кажется, я нашел свой собственный ответ... Наконец. Спасибо за вашу помощь!

Проблема была довольно простой, довольно глупой. Просто отсутствие «event.preventDefault()». Только это ... Да, называйте меня глупым, я говорил себе это последние часы.

"Глупо" было бы не публиковать ваш вопрос здесь. Написав, вы помогли мне и другим, кто сделал точно такую ​​же ошибку. Разместив сообщение, вы сделали stackoverflow лучшим местом. Хорошего дня!

Christine 08.01.2020 13:22

@ Хосе Педро Соуза, не могли бы вы прояснить причину проблемы? Это все о каком-то событии "нажатие кнопки"? Почему непредотвратимое событие заставляет axios не получать ответ? Иногда я получаю такое же поведение в своем проекте React Native, но нет никаких событий, которые можно было бы предотвратить.)

Vyacheslav Orlovsky 07.09.2020 09:27

@VyacheslavOrlovsky, насколько я могу судить, если вы не вызовете preventDefault(), страница немедленно перезагрузится, поскольку это поведение по умолчанию для кнопки отправки. Я не знаю, как это применимо к React Native, поскольку мой опыт работы с RN поверхностен. Надеюсь, это как-то помогло...

jpedrosous 23.09.2020 10:58

@ Хосе Педро Соуза, спасибо за ответ. Понятно, ваш случай, похоже, связан с чистым React только для Интернета. И я уже понял, что мой случай связан с невнимательностью - ошибочная обработка ошибок внутри моего перехватчика ответов Axios приводит к его тихому сбою.

Vyacheslav Orlovsky 24.09.2020 10:43

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