#javascript #node.js
#javascript #node.js
Вопрос:
Я пытаюсь проанализировать тело в NodeJS, но я получаю его обратно в неправильном формате.
Это мой код:
fetch("http://localhost:5000/email", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: JSON.stringify({ shareUrl: props.shareUrl })
});`
Вот как это анализируется, когда console.log(body.req.shareUrl) в Node
{ '{"shareUrl":"link"}': '' }
вот как я хочу его вернуть
{ 'shareUrl': 'link' }
Редактировать
Когда я пытаюсь отправить его из Postman, он работает нормально
Я получаю следующий вывод:
{ Name: 'jej' }
Комментарии:
1. Что, если вы удалите
JSON.stringify
изbody
?2. Я уже пробовал это, та же проблема :/
3. Можете ли вы попробовать установить свой заголовок на
'Content-Type': 'application/json'
4. Я уже пробовал это тоже, те же результаты
5. проверьте, есть ли у
stringified
вашегоprops.shareUrl
Ответ №1:
Тип содержимого:
{ "Content-Type": "application/x-www-form-urlencoded" }
не улучшено для отправки данных JSON в первую очередь.
Если вы хотите отправлять и получать JSON, измените тип содержимого на:
{ "Content-Type": "application/json" }
Нравится:
fetch("http://localhost:5000/email", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: { data: json.stringify({shareUrl: props.shareUrl}) }
});`
На сервере вы найдете его в разделе req.body.data
Комментарии:
1. Все это должно быть
{ data: json.stringify({shareUrl: props.shareUrl}) }
проверено в виде строкиdeveloper.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch