Как передать FormData на NodeJS?

223
20 апреля 2017, 17:11

делаю так:

client.js

var fd = new FormData();
fd.append('test', 'test');
$.ajax({
    url: '/form',
    data: fd,
    processData: false,
    type: 'POST',
    headers: {
        'Content-Type': undefined
    },
    success: function ( d ) {
        console.log( d );
    },
    error: function( a, b, c){
      console.log( a );
      console.log( b );
    }
});

server.js

var multiparty = require('multiparty');
var app = express();
...
app.post('/form', function(req, res) {
  var form = new multiparty.Form();
  form.parse(req, function(err, fields, files) {
      console.log('fields:', fields);
  });    
}

в логе получаю:

fields: undefined

почему поля не парсятся?

Answer 1

потому, что в AJAX $.ajax({data:..}); должна передаваться urlencoded data вида "?test=test" . Тогда бэкэнд будет получать её как инпуты и их значения.

$.ajax({
    url: '/form',
    data: "test=test",
    processData: false,
    type: 'POST',
    headers: {
        'Content-Type': undefined
    },
    success: function ( d ) {
        console.log( d );
    },
    error: function( a, b, c){
      console.log( a );
      console.log( b );
    }
});

А вы передали объект формы.

READ ALSO
JavaScript сортировка работает некорректно

JavaScript сортировка работает некорректно

Есть массив в котором содержатся объекты Ключ и значение ));

240
Преобразовать HTML + CSS в .pdf

Преобразовать HTML + CSS в .pdf

Собственно стоит такая задачаПользователь проходит на сайте тест, на основе этих данных строится диаграмма (тут проблем нет, необходимые...

197
Почему не срабатывает preventDefault?

Почему не срабатывает preventDefault?

Есть html форма в которой пользователь может менять свои данные:

369
Есть вопрос: можно или нет переместить навигацию OwlCarousel 2 на блоки с другими классами, или в дрйгой блок?

Есть вопрос: можно или нет переместить навигацию OwlCarousel 2 на блоки с другими классами, или в дрйгой блок?

Можно или нет переместить навигацию OwlCarousel 2 на блоки с другими классами, или в дрйгой блок?

209