javascript - NodeJS 'http' 对象应该有一个名为 get() 的方法,但它在哪里?

标签 javascript node.js http http-request

我希望在我的控制台中看到“得到响应”或“得到错误”。

我一直在尝试使用 http.get() 执行 HTTP 请求但当我尝试时出现以下错误。

D:\wamp\www\Chat\server\test.js:19
http.get("http://google.com", function(res) {
     ^
TypeError: Object #<Server> has no method 'get'
    at Object.<anonymous> (D:\wamp\www\Chat\server\test.js:19:6)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

这是完整的 test.js:

var http = require('http').createServer(handler);

var fs = require('fs');

http.listen(9090);

function handler(req, res) {
    fs.readFile(__dirname + '/index.html', function(err, data) {
        if (err) {
            res.writeHead(500);
            return res.end('Error loading index.html');
        }

        res.writeHead(200);
        res.end(data);
    });
}

http.get("http://google.com", function(res) {
    console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
    console.log("Got error: " + e.message);
});

在cmd中执行node --version返回v0.8.15

最佳答案

您在您创建的服务器上调用 get(),而不是在 http 对象上:

var http = require('http').createServer(handler);

你的http应该是:

var http = require('http');

然后你可以使用http.get();

关于javascript - NodeJS 'http' 对象应该有一个名为 get() 的方法,但它在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13831163/

相关文章:

javascript - 当应用程序通过实时服务器运行时,localStorage 是否应该保留?

node.js - Nodejs中stdin的结束进程

node.js - Node-Webkit:fs.readdirSync ("~")不起作用

javascript - 仅从内容页刷新母版页

javascript - 如何通过填充从数据库获取的数据来自动在 HTML 表中创建行

node.js - Node.js 流如何工作?

javascript - request.end() 之后重新发送响应

html - 分段上传表单 : Is order guaranteed?

javascript - 随机数放入div,然后让按顺序删除div。如何?

iphone - Objective-C 流媒体上传音频