Данные POST с модулем запроса на Node.JS

Этот модуль является 'request https://github.com/mikeal/request

Я думаю, что я следую за каждым шагом, но мне не хватает аргумента.

var request = require('request');
request.post({
        url: 'http://localhost/test2.php',
         body: "mes=heydude"
         }, function(error, response, body){
            console.log(body);
    });

на другом конце я

echo $_POST['mes'];

И я знаю, что php не ошибается...

+120
21 июн. '11 в 22:17
источник поделиться
7 ответов

EDIT: Вы должны проверить Needle. Он делает это для вас и поддерживает многостраничные данные и многое другое.

Я понял, что мне не хватает заголовка

var request = require('request');
request.post({
  headers: {'content-type' : 'application/x-www-form-urlencoded'},
  url:     'http://localhost/test2.php',
  body:    "mes=heydude"
}, function(error, response, body){
  console.log(body);
});
+178
21 июн. '11 в 22:33
источник

При использовании request для http POST вы можете добавлять параметры следующим образом:

var request = require('request');
request.post({
  url:     'http://localhost/test2.php',
  form:    { mes: "heydude" }
}, function(error, response, body){
  console.log(body);
});
+75
31 окт. '13 в 18:00
источник

Если вы отправляете тело json, не используйте параметр form. Использование form сделает массивы в field[0].attribute, field[1].attribute и т.д. Вместо этого используйте body.

var jsonDataObj = {'mes': 'hey dude', 'yo': ['im here', 'and here']};
request.post({
    url: 'https://api.site.com',
    body: jsonDataObj,
    json: true
  }, function(error, response, body){
  console.log(body);
});
+33
31 мая '17 в 17:34
источник

Мне пришлось опубликовать пары ключ-значение без формы, и я мог легко это сделать, как показано ниже:

var request = require('request');

request({
  url: 'http://localhost/test2.php',
  method: 'POST',
  json: {mes: 'heydude'}
}, function(error, response, body){
  console.log(body);
});
+33
17 авг. '16 в 6:38
источник
var request = require('request');
request.post('http://localhost/test2.php', 
    {form:{ mes: "heydude" }}, 
    function(error, response, body){
        console.log(body);
});
+16
04 нояб. '13 в 9:29
источник
  1. Установите модуль запроса, используя npm install request

  2. В коде:

    var request = require('request');
    var data = '{ "request" : "msg", "data:" {"key1":' + Var1 + ', "key2":' + Var2 + '}}';
    var json_obj = JSON.parse(data);
    request.post({
        headers: {'content-type': 'application/json'},
        url: 'http://localhost/PhpPage.php',
        form: json_obj
    }, function(error, response, body){
      console.log(body)
    });
    
+9
22 нояб. '16 в 7:08
источник

Я настоятельно рекомендую axios https://www.npmjs.com/package/axios установить его с помощью npm или пряжи

const axios = require('axios');

axios.get('http://your_server/your_script.php')
    .then( response => {
    console.log('Respuesta', response.data);
    })
    .catch( response => {
        console.log('Error', response);
    })
    .finally( () => {
        console.log('Finalmente...');
    });
0
20 июл. '19 в 5:13
источник

Посмотрите другие вопросы по меткам или Задайте вопрос