尝试在节点中使用request.js库时出错

时间:2017-06-20 19:33:45

标签: javascript node.js express request body-parser

我正在request.js应用中使用node/express进行测试。但是当我运行命令node post.js时,我一直收到以下错误:

events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: Invalid protocol: null
at Request.init (/Users/amenra/Documents/node-apps/learnexpress/node_modules/request/request.js:460:31)
at new Request (/Users/amenra/Documents/node-apps/learnexpress/node_modules/request/request.js:130:8)
at request (/Users/amenra/Documents/node-apps/learnexpress/node_modules/request/index.js:54:10)
at Function.post (/Users/amenra/Documents/node-apps/learnexpress/node_modules/request/index.js:62:12)
at Object.<anonymous> (/Users/amenra/Documents/node-apps/learnexpress/post.js:2:13)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)

以下是我的server.js

的代码

&#13;
&#13;
var express = require('express'),
    parser = require('body-parser'),
    app = new express();

    var data = {
      info: [7,77,88,23,65,66]
    };

    app.use(parser.json());
    app.use(parser.urlencoded({extended: true}));

    app.get('/', function(req, res){
      res.status(200)
        //  .send("Hello World");
        .json(data);
    });

    app.post('/', function(req, res){
      var data = req.body;
      console.log(data);
    });

    app.use('/home', express.static('app'));

    app.listen(9001);
    
&#13;
&#13;
&#13;

以下是post.js的代码:

&#13;
&#13;
var request = require('request');
    request.post('http://localhost:9001',{form:{name:"Amen Moja Ra"}})
&#13;
&#13;
&#13;

为什么会抛出错误?

2 个答案:

答案 0 :(得分:1)

当您这样做时,您的服务器没有运行。

打开一个终端并输入 node server.js

在另一个终端: node post.js

答案 1 :(得分:0)

因为我在Mac上。我必须做以下事情:

首先在terminal A

中运行此命令

nodemon server.js

然后在“终端B&#39;

中运行此命令

sudo node post.js

然后回来terminal A,我会在控制台中看到我的数据。