為什么http://localhost:8080/login.html會(huì)報(bào)404
const?http=require('http')
const?url=require('url')
const?querystring=require('querystring')
const?fs=require('fs')
let?user={
????admin:?123456
}
http.createServer((req,res)=>{
????let?path,get,post
????if?(req.method=='GET'){
????????let?{pathname,query}=url.parse(req.url,true)
????????path=pathname
????????get=query
????????complete()
????}if?(req.method=='POST'){
????????let?arr=[]
????????req.on('data',buffer={
????????????
????????})
????????req.on('end',()=>{
????????????post=querystring.parse(Buffer.concat(arr).toString())
????????})
????????complete()
????}
????function?complete(){
????????if?(path=='/login'){
????????????res.writeHead(200,{
????????????????"content-type":"text/plain;charset=utf-8"
????????????})
????????????let?{username,password}=get
????????????if?(!user[username]){
????????????????res.end(JSON.stringify({
????????????????????????err:?1,
????????????????????????msg:?'用戶名不存在'
????????????????????})
????????????????)
????????????}else?if(user[username]!=password){
????????????????res.end(JSON.stringify({
????????????????????err:?1,
????????????????????msg:?'密碼錯(cuò)誤'
????????????????????})
????????????????)
????????????}else{
????????????????res.end(JSON.stringify({
????????????????????err:?0,
????????????????????msg:?'登錄成功'
????????????????????})
????????????????)
????????????}
????????}else?if(path=='/reg'){
????????????res.writeHead(200,{
????????????????"content-type":"text/plain;charset=utf-8"
????????????})
????????????let?{username,password}=post
????????????if(user[username]){
????????????????res.end(JSON.stringify({
????????????????????err:?1,
????????????????????msg:?'用戶名已經(jīng)存在'
????????????????????})
????????????????)
????????????}else{
????????????????res.end(JSON.stringify({
????????????????????err:?0,
????????????????????msg:?'注冊(cè)成功'
????????????????????})
????????????????)
????????????}
????????}else{
????????????fs.readFile(`www${path}`,(err,data)=>{
????????????????if?(err){
????????????????????res.end('404')
????????????????}else{
????????????????????res.end(data)
????????????????}
????????????})
????????}
????}
}).listen(8080)
2020-05-24
1、你得把你開(kāi)發(fā)時(shí)的文件目錄結(jié)構(gòu)發(fā)出來(lái),不然沒(méi)法準(zhǔn)確分析。
2、僅僅針對(duì)上述你提供的信息來(lái)分析的話,目測(cè)應(yīng)該是文件目錄不對(duì),需要核實(shí)兩點(diǎn):
1)上述js文件同級(jí)目錄下是否存在“www”文件夾,且該文件夾下存在“l(fā)ogin.html”文件(估計(jì)你不會(huì)犯這種低級(jí)錯(cuò)誤)
2)你的電腦是MAC還是Windows,如果是MAC,因?yàn)槠鋵?duì)目錄的解析跟Windows不同,你讀取文件時(shí)不能寫(xiě)`www${path}`(學(xué)習(xí)過(guò)程中先寫(xiě)個(gè)絕對(duì)路徑什么的就行)