Node.Js错误 - 监听器必须是一个函数

时间:2015-05-15 04:07:03

标签: node.js

我正在尝试构建端点/订单....可以在其中发出POST请求的订单。

var http = require('http');

var options = {
  hostname: '127.0.0.1'
  ,port: '8080'
  ,path: '/order'
  ,method: 'GET'
  ,headers: { 'Content-Type': 'application/json' }
};

var s  = http.createServer(options, function(req,res) {

  res.on('data', function(){
       // Success message for receiving request. //
       console.log("We have received your request successfully.");
  });
}).listen(8080, '127.0.0.1'); // I understand that options object has already defined this. 

req.on('error', function(e){
  console.log("There is a problem with the request:\n" + e.message);
});

req.end();

我收到错误"侦听器必须是函数" ....当试图从命令行运行它时 - " node sample.js"

我希望能够运行此服务并卷入其中。  有人可以证明我的代码,并给我一些关于我出错的基本方向吗?以及如何改进我的代码。

1 个答案:

答案 0 :(得分:4)

http.createServer()不会将options对象作为参数。它唯一的参数是一个监听器,它必须是一个函数,而不是一个对象。

以下是一个非常简单的示例:

var http = require('http');

// Create an HTTP server
var srv = http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('okay');
});

srv.listen(8080, '127.0.0.1');