X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Node.js не принимает данные из FormData()
lensoy
lensoy
Topic Starter сообщение 16.1.2017, 4:03; Ответить: lensoy
Сообщение #1


Данные из браузера отправляются таким образом:
[JS]
var formData = new FormData();
formData.append("test", "123");

var res = new XMLHttpRequest();
res.open( "post", "/post", true );
res.send(formData);
[/JS]

Приходят в Node.js (express)
[JS]
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

app.post("/post", function(req, res) {
console.log(req.body);
res.send(null);
});
[/JS]

И там пустой объект на выходе.
{}
Если отправить данные из обычной формы, то все нормально.
Если отправить http post запрос из какого-нибудь ангуляра, тоже все нормально.
Из FormData() не приходит как будто ничего.

Я уже много чего пробовал. К примеру если отправить с таким хэдером
[JS]res.setRequestHeader('content-type', 'application/x-www-form-urlencoded');[/JS]
То в итоге что-то приходит. Там даже есть нужные данные. Непонятно только как их раскодировать.
[JS]{ '------WebKitFormBoundaryhACdDHCWbVp8Xjtp\r\nContent-Disposition: form-data; name': '"test"\r\n\r\n123\r\n------WebKitFormBoundaryhACdDHCWbVp8Xjtp--\r\n' }[/JS]

Очень странно. В интернете почему-то нет никого с такой же проблемой. Заранее спасибо.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lensoy
lensoy
Topic Starter сообщение 16.1.2017, 4:19; Ответить: lensoy
Сообщение #2


Нашел решение.

[JS]
var multer = require("multer");

//...

var upload = multer({ dest: "./upload/" });
app.post("/post", upload.array(), function(req, res) {
console.log(req.body);
res.send({
error: false
});
});
[/JS]

Теперь все работает всегда.
Бонусом можно заливать файлы. Подробности по обработке файлов можете почитать в доках по multer...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 16.1.2017, 16:04; Ответить: Degradator
Сообщение #3


Зачем использовать form-url-encode если можно отправлять в формате JSON?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Спарсить данные с сайта
2 EvilGomel 1089 17.8.2023, 9:37
автор: bobmen
Открытая тема (нет новых ответов) Восстановить сайт + добавить исходные данные
5 Portsmouth 1947 21.5.2023, 7:23
автор: Skyworker
Открытая тема (нет новых ответов) Спарсить данные с сайта
2 TABAK 1008 22.4.2023, 19:49
автор: TABAK
Открытая тема (нет новых ответов) Анализ конкурентов, помощь в семантике. Данные из Spywords
Выгрузки по вашим пожеланиям
0 Infra 7188 7.6.2020, 18:39
автор: Infra
Открытая тема (нет новых ответов) В команду нужен программист Node.js, React (Discord)
2 crypton22 1079 7.3.2020, 17:51
автор: agrx


 



RSS Текстовая версия Сейчас: 19.3.2024, 13:04
Дизайн