Node.js应用访问localhost:8080时无限加载问题求助
Node.js HTTP服务器页面无限加载问题排查
问题出在你代码里的res.end这一行——你只是引用了这个方法,没有调用它。
HTTP请求处理流程中,res.end()方法的核心作用是结束响应,告知客户端服务器已完成所有响应数据的发送。如果不调用这个方法,服务器会一直保持请求连接处于开放状态,浏览器会持续等待完整响应,最终表现为页面无限加载。
修正后的代码如下:
const http = require("http") const port = 8080 const server = http.createServer(function(req, res){ res.write("Hello node") res.end() // 这里必须加上括号调用方法 }) server.listen(port, function(error){ if(error){ console.log("Something went wrong", error) }else{ console.log("Server is listening on port " + port) } })
你也可以简化代码逻辑,直接通过res.end()传递响应内容,省去res.write步骤:
const http = require("http") const port = 8080 const server = http.createServer(function(req, res){ res.end("Hello node") // 直接在end方法中传入响应内容 }) server.listen(port, function(error){ if(error){ console.log("Something went wrong", error) }else{ console.log("Server is listening on port " + port) } })
内容的提问来源于stack exchange,提问作者Matthew Z
相关产品推荐
相关产品推荐

