如何修复Node.js中HTTP模块无法正常工作的问题?
问题分析与解决
你的代码里存在一个关键错误:res.end没有调用执行,它只是引用了这个方法,没有实际触发响应结束的操作,导致浏览器一直处于等待服务器响应的状态,所以无法正常显示内容。
修正后的代码
const http = require('http') const port = 3000 const server = http.createServer(function(req, res){ res.write('Hello Node') res.end() // 这里需要加括号调用方法 }) server.listen(port, function(error){ if(error){ console.log("Error: " + error) } else { console.log("Server is listening on port " + port) } })
说明
res.end()是Node.js HTTP模块中结束响应的方法,必须通过加括号的方式调用它,才能告知服务器已经完成响应内容的发送,浏览器才能接收到完整的响应并显示内容。- 你之前的写法
res.end只是获取了这个函数的引用,没有执行它,所以响应一直没有完成,浏览器会持续等待直到超时。
内容的提问来源于stack exchange,提问作者rochard
相关产品推荐
相关产品推荐

