请问使用node.js创建服务器设置通信状态码为何没有起作用?

发布于 2022-09-13 23:55:16 字数 1769 浏览 27 评论 0

image.png
image.png
如何使用node.js创建http连接,重设通信状态码信息,为何运行起来时并不起作用?
image.png
控制台并未出现该有的信息,请赐教,不胜感激。

// 版本1
const http = require('http')
const fs = require('fs')
const server = http.createServer((request, response) => {
    // response.end('hello ...')
    const { url, method ,headers} = request
    if (url === '/' && method === 'GET'){
        // 静态页面服务
        fs.readFile('index.html',(err,data) => {
            if(err){
                console.log("500")
                response.writeHead(500,{
                    // writeHead会把东西全读到内存去,内存占用大,在html处还不显著,但是在图片处使用的吧话就会消耗大量内存
                    'Content-Type':'text/plain;charset=utf-8'
                })
                response.end('500 服务器挂了')
                return
            }
            response.statusCode = 200
            response.setHeader('Content-Type','text/html')
            response.end(data)
            console.log("200")
        })
    }else if(url === '/users' && method === 'GET'){
        // Ajax服务
        response.writeHead(200,{
            'Content-Type': 'application/json'
        })
        response.end(JSON.stringify({
            name : 'qyx'
        }))
    }else if(method === 'GET' && headers.accept.indexOf('image/*') !== -1){
        // 图片文件服务
        fs.createReadStream('./'+url).pipe(response)
    }else {
        console.log("404")
        response.statusCode=404
        response.setHeader('Content-Type','text/plain;charset=utf-8')
        reponse.end('404没这玩意')
    }

})

// 监听端口
server.listen(8888,()=>{
    console.log('Server at 8888')
})


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爺獨霸怡葒院 2022-09-20 23:55:16

那段nodejs代码是在服务器端运行的,所以在浏览器的控制台,是不会输出nodejs文件里console.log的任何东西的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文