Express.js: преобразовать req.body в строку в кодировке POST - PullRequest
1 голос
/ 14 октября 2011

Я использую промежуточное программное обеспечение express.bodyParser и пытаюсь преобразовать объект req.body в строку в формате POST.Есть ли способ сделать это?

Пример:

Name: Jonathan Doe
Age: 23
Formula: a + b == 13%!

Становится:

Name=Jonathan+Doe&Age=23&Formula=a+%2B+b+%3D%3D+13%25%21

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Узел имеет модуль для этого.

var qs = require('querystring');
...
console.log(qs.stringify(req.body));

Но все равно подключайте / экспресс храните необработанное тело в req.rawBody.

0 голосов
/ 14 октября 2011

Я думаю, что это должно быть довольно просто - вы должны быть в состоянии сделать это так же, как в браузере.Эта функция преобразует все строковые / числовые члены объекта / массива в строку, которую можно использовать в качестве тела POST:

var objectToPostBody = function (object) {
  var i, out;
  if (!object) {
    return false;
  }
  out = [];
  for (i in object) {
    if (typeof object[i] === 'string' || typeof object[i] === 'number') {
      out[out.length] = encodeURIComponent(i) + '=' + encodeURIComponent(object[i]);
    }
  }
  return out.join('&');
};

Если вы хотите обработать под-массивы / подобъекты, функция получитболее сложным, но для того, что вы описали выше, я думаю, что должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...