Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Обработка formData через Post (https://javascript.ru/forum/node-js-io-js/66339-obrabotka-formdata-cherez-post.html)

Alexey04 09.12.2016 21:48

Обработка formData через Post
 
Являюсь нубом, так что сильно не бейте. Собственно есть такой код на клиенте.
var formData = new FormData(document.forms.person);
          formData.append("login", worldElement.row.reg.login.value);
          formData.append("pass", worldElement.row.reg.password.value);
          formData.append("mail", worldElement.row.reg.mail.value);
          formData.append("phone", worldElement.row.reg.number.value);
          var xhr = new XMLHttpRequest();
          xhr.open("POST", "/query/spec/registration", true);
          xhr.send(formData);

Как вы поняли он передаёт 4 поля(login, pass, mail, phone) на сервер. Собственно как считать эти 4 поля на сервере(юзаю express)?
app.post('/query/spec/registration', function(req, res){
     var login;
     var pass;
     var mail;
     var phone;
    //put your code here
});

И ещё. нужно проверить, чтобы клиент мне слишком много данных не отправил. Если он превысил лимит, то оборвать связь. Какими способами можно это проверять?(по весу в байтах всей формы или можно узнать вес в байтах загружаемой переменной(login,password...)? Или можно узнать размер в количестве символов загружаемой переменной(типо если password больше, чем 64 символа передал, то обрываем загрузку ВСЕГО)).

destus 10.12.2016 09:22

Alexey04,
Начни с выбора подходящего middleware, чтобы научить свое приложение обрабатывать такие формы.

Alexey04 10.12.2016 15:13

Цитата:

Сообщение от destus (Сообщение 437559)
Alexey04,
Начни с выбора подходящего middleware, чтобы научить свое приложение обрабатывать такие формы.

разве app.post не может обработать POST метод?

destus 10.12.2016 16:49

Alexey04,
он его и обрабатывает, но из коробки парсить формдату не умеет.

Alexey04 10.12.2016 22:06

Цитата:

Сообщение от destus (Сообщение 437584)
Alexey04,
он его и обрабатывает, но из коробки парсить формдату не умеет.

А какой модуль надо поключить, чтобы он смог парсить. Можешь, пожалуйста, пример сделать? А то что-то не могу ничего найти.

destus 11.12.2016 07:27

Alexey04,
https://github.com/expressjs/multer#usage


Часовой пояс GMT +3, время: 20:32.