Публикация данных формы с помощью модуля запроса - Nodejs & Express - PullRequest
0 голосов
/ 10 апреля 2020

Я использую платформу для защиты данных, и у них есть этот фрагмент кода, показывающий, как разместить данные на своей платформе:

Они используют модуль запроса: https://github.com/mikeal/request

const request = require('request');

request({
    url: 'https://mypass.testproxy.com/post',
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({'secret' : 'secret_value'})
  }, function(error, response, body){
    if(error) {
      console.log(error);
    } else {
      console.log('Status:', response.statusCode);
      console.log(JSON.parse(body));
    }
});

Работает нормально, но я хотел заменить объект «secret»: «secret_value» данными моей формы, но мне сложно разобраться, как это сделать. Единственный способ узнать, как получить данные формы, - это req.body:

function(req, res) {
var form = {
  card_number: req.body.card_number,
  card_cvv: req.body.cvv,
  card_expirationDate: req.body.card_expirationDate,
};
    // ...
});

Как мне это сделать? Любая помощь очень ценится.

Я знаю, что приведенный ниже код неверен, но это идея того, чего я хочу достичь:

request( function(req, res) {
var form = {
  card_number: req.body.card_number,
  card_cvv: req.body.cvv,
  card_expirationDate: req.body.card_expirationDate,
};{
    url: 'https://mypass.testproxy.com/post',
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify(form)
...```



1 Ответ

1 голос
/ 10 апреля 2020

Данные формы будут отправлены с типом содержимого application/x-www-form-urlencoded, например, card_number=123&cvv=456.

Express имеет промежуточное программное обеспечение для анализа, что https://expressjs.com/en/api.html#express .urlencoded

app.use(express.urlencoded());

Проанализированные значения будут в req.body в вашем почтовом маршруте. Например, req.body.card_number будет содержать значение 123.

. Вы можете поместить запрос в маршрут:

app.post('/', function (req, res) {
  var form = { /* ... */ }
  request({
    body: JSON.stringify(form),
    /* ... */
  })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...