#reactjs #express #proxy #request #mern
Вопрос:
При отправке запроса из моего приложения react в мое экспресс-приложение запрос завершается ошибкой и говорит, что 404 не найден. То, что я делаю, — это запускаю свое приложение express 5000
и приложение react 3000
.
Я вставил proxy
package.json
в свое приложение react "proxy": "http://localhost:5000"
export const signup = (email, password) =gt; async (dispatch) =gt; { const config = { headers: { 'Content-Type': 'application/json', }, }; const body = JSON.stringify({ email, password }); try { const { data } = await axios.post('/auth/signup', body, config); dispatch({ type: REGISTER_SUCCESS, payload: data }); } catch (err) { console.log(err); dispatch({ type: AUTH_ERROR }); } };
затем в моем приложении react в моем actions
я пытаюсь зарегистрировать пользователя. Вот где возникает моя ошибка. Я вижу, что я действительно получаю правильные данные, передаваемые в эту функцию, и если я запускаю свое приложение express и делаю запрос через почтальона, а не через приложение react, все работает нормально. Я не дома, и я работаю над Wi-Fi от Starbucks, не уверен, что это имеет какое-то значение.
Вот ошибка, которую я получаю…
POST http://localhost:3000/auth/signup 404 (Not Found) Error: Request failed with status code 404 at createError (createError.js:16) at settle (settle.js:17) at XMLHttpRequest.onloadend (xhr.js:66)
Ответ №1:
Потому что вы отправляете запрос на публикацию в свое приложение react.
Попробуйте вместо этого:
const { data } = await axios.post('http://localhost:5000/auth/signup', body, config);
Комментарии:
1. Попытался выполнить
get
запрос и не работает. Кроме того, это не должно быть проблемой, потому что я использую aproxy
. Кроме того, я тоже пробовал это на всякий случай раньше и не сработало.2. убедитесь, что метод http со стороны express
post
не является чем-то другим, и маршруты аналогичны.3. все это хорошо. Я тоже утроил их проверку.
4. Я также попытался удалить папку node_modules для своего приложения react и файла блокировки пакетов и переустановил все. все равно это не работает.
5. Показывает ли он 404 на всех API ?