Node.js:TypeError:对象不是函数
我有一个奇怪的错误:Node.js:TypeError:对象不是函数,node.js,Node.js,我有一个奇怪的错误: var http = require("http"); var request = require("request"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); request('http://www.google.com', function (error, response, bo
var http = require("http");
var request = require("request");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the google web page.
}
});
response.end();
}).listen(8888);
其思想是让它作为Web服务器进行侦听,然后执行请求。
但这就是我得到的错误:
request('http://www.google.com', function (error, response, body) {
^
TypeError: object is not a function
at Server.<anonymous> (/Users/oplgkim/Desktop/iformtest/j.js:8:2)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2056:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23)
at Socket.socket.ondata (http.js:1946:22)
at TCP.onread (net.js:525:27)
请求('http://www.google.com,函数(错误、响应、正文){
^
TypeError:对象不是函数
在服务器上。(/Users/oplgkim/Desktop/ifformtest/j.js:8:2)
在Server.EventEmitter.emit上(events.js:98:17)
在HTTPParser.parser.onIncoming(http.js:2056:12)
在HTTPParser.parserOnHeadersComplete[作为onHeadersComplete](http.js:120:23)
位于Socket.Socket.ondata(http.js:1946:22)
在TCP.onread(net.js:525:27)
我做错了什么?
我安装了request,所以不是这样:)对
request
全局变量的访问丢失,因为您有一个同名的局部变量。重命名其中一个变量将解决此问题:
var http = require("http"); var request = require("request");
http.createServer(function(req, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the google web page.
}
})
response.end();
}).listen(8888);
您无法再访问全局变量“request”。您需要用其他名称重命名您的局部变量“request”,问题将得到解决。由于您有一个同名的局部变量,因此无法访问
request
全局变量。这一点很恰当,为什么不将其作为答案发布,以便我给出答案你指的是。。。