node.js区分请求的是文件还是接口。

const http=require('http')
const io=require('socket.io')
const mysql=require('mysql')
const fs=require('fs')
const url =require('url')

let  httpServer=http.createServer((request,response)=>{
    let {pathname,query}=url.parse(request.url,true)
    // true可以不写,true可是使得query由字符串变为json对象。
    if(pathname=="/reg"){
        console.log("注册")
    }else if(pathname=="/login"){
        console.log('登录')
    }else{
        console.log('文件')
        fs.readFile(`www${pathname}`,(err,data)=>{

        })
    }
})
httpServer.listen(8080)

当我浏览器输入的是http://localhost:8080/reg?user=abc12342&pass=a666666666,我consoel.log出来的是注册,文件。为啥“文件”回打印出来?

阅读 2.6k
1 个回答

因为在浏览器里会请求两次,一次是跟你想的一样的正确请求,另一次是请求 favicons 小图标,所以会打印‘文件’。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏