在Node.JS上使用请求模块POST数据

Die*_*res 125 request node.js

该模块是'请求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);
    });
Run Code Online (Sandbox Code Playgroud)

在另一端我有

echo $_POST['mes'];
Run Code Online (Sandbox Code Playgroud)

我知道php没有错...

Die*_*res 185

编辑:你应该看看.它为您完成此操作并支持多部分数据等等.

我发现我错过了一个标题

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);
});
Run Code Online (Sandbox Code Playgroud)

  • 如果要发送`content-type':'application / json'`,请记住对数据进行JSON.stringify`。 (4认同)

Tin*_*oni 76

使用requesthttp POST时,您可以这样添加参数:

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


Rap*_*tor 38

我不得不发布没有表单的键值对,我可以像下面这样轻松地做:

var request = require('request');

request({
  url: 'http://localhost/test2.php',
  method: 'POST',
  json: {mes: 'heydude'}
}, function(error, response, body){
  console.log(body);
});
Run Code Online (Sandbox Code Playgroud)

好读:http://blog.modulus.io/node.js-tutorial-how-to-use-request-module


Ric*_*cky 34

如果您要发布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);
});
Run Code Online (Sandbox Code Playgroud)


apo*_*sto 16

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


Ani*_*t B 11

  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)
    });
    
    Run Code Online (Sandbox Code Playgroud)