相关疑难解决方法(0)

通过http.request发送帖子请求时,req.body为空

我有一个使用bodyparser()的nodejs应用程序,以及这条路线:

app.post('/users', function(req, res){
  res.json(req.body)
})
Run Code Online (Sandbox Code Playgroud)

当我卷曲

curl -X POST 127.0.0.1:3000/users -d 'name=batman'
Run Code Online (Sandbox Code Playgroud)

服务器发回这个json:

{ name: 'batman' }
Run Code Online (Sandbox Code Playgroud)

我的问题是当试图用http.request做同样的请求时,req.body是空的我虽然做同样的调用,这里是一个我用节点运行的test.js文件:

var http = require('http');

var options = {
  host: '127.0.0.1',
  port: 3000,
  path: '/api/users',
  method: 'POST'
};

var request = http.request(options, function (response) {
  var str = '';
  response.on('data', function (chunk) {
    str += chunk;
  });

  response.on('end', function () {
    console.log(str);
  });
});

request.end("name=batman");
Run Code Online (Sandbox Code Playgroud)

请求正文是空的 - > {}

为什么?我已经尝试设置内容长度,但没有做任何事情.

request node.js express

8
推荐指数
1
解决办法
1万
查看次数

节点"req未定义"

当我尝试开始以下脚本时:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8000);

var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;

console.log(ip)
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
ReferenceError: req is not defined
    at Object.<anonymous> (/home/ubuntu/IPDeliverer/server.js:9:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:32)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:41)
Run Code Online (Sandbox Code Playgroud)

我的第一个猜测是,有一些模块缺失,所以我安装了以下模块:

npm install req
Run Code Online (Sandbox Code Playgroud)

然后我包括以下行

var req = require("./node_modules/req/node_modules/request");
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作.有什么建议 ?

node.js

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

node.js ×2

express ×1

request ×1