Я конвертирую код, который подключил AWS Lambda к nano express. Мой VueJS внешний интерфейс не передавал данные правильно, поэтому я начал вносить изменения, и теперь я вообще не могу добраться до бэкэнда, и я понятия не имею, почему.
Бэкэнд тривиален:
const nanoexpress = require('nanoexpress');
const app = nanoexpress();
app.post('/v1/authorizeUser', async (req) => {
console.log(req);
const { email, password } = req.body;
console.log(email);
return { status: 'Ok', body: req.body };
});
app.listen(3000).then(r => console.log('started'));
Это оригинальный магазин. js код. Я могу отправить запрос из приложения Vue в Chrome, но он не анализируется правильно. Вероятно, из-за отсутствующего или неправильного типа контента
const axiosResponse = await axios.post(`${API_ENDPOINT}/authorizeUser`, JSON.stringify({
email: payload.email,
password: payload.password,
}));
и журнала сервера:
body: [Object: null prototype] {
'{"email":"literak@seznam.cz","password":"centrum"}': ''
}
undefined
Когда я добавил Ax Опции ios, chrome показывает ошибку для этого запроса, но на сервере ничего нет.
const options = {
headers: {
'Content-Type': 'application/json',
},
};
const axiosResponse = await axios.post(`${API_ENDPOINT}/authorizeUser`, JSON.stringify({
email: payload.email,
password: payload.password,
}), options);
Chrome запрос выглядит странно, раздел ответа отсутствует, заголовки запроса сильно различаются, и на вкладке Timing я вижу, что запрос остановлен.
Если я удаляю функцию stringify, она ведет себя так же:
const axiosResponse = await axios.post(`${API_ENDPOINT}/authorizeUser`, {
email: payload.email,
password: payload.password,
}, options);
И та же проблема без stringify и пользовательских опций:
const axiosResponse = await axios.post(`${API_ENDPOINT}/authorizeUser`, {
email: payload.email,
password: payload.password,
}, options);
Только первый вариант с stringify и без параметров достигает сервера. Я использую Почтальон, запрос обрабатывается сервером.
Журналы:
body: { email: 'literak@seznam.cz', password: 'centrum' }
}
literak@seznam.cz
Топор ios последний Версия 0.19.2. Chrome также актуален. Я понятия не имею, почему другие комбинации не достигают сервера. Похоже, Chrome получил правильный запрос. Что может быть не так? Это сводит меня с ума.
Обновление: консоль
Error: Network Error
at createError (createError.js?2d83:16)
at XMLHttpRequest.handleError (xhr.js?b50d:83)