為什么我的端口起不來(lái)?瀏覽器http://localhost:8080/login?userName=qinfubin&password=123456沒(méi)反應(yīng)
const?http?=?require('http')
const?url?=?require('url')
const?queryString?=?require('querystring')
//模擬數(shù)據(jù)庫(kù)
let?user?=?{
????admin:123456?//用戶和密碼
}
//搭建服務(wù)器
http.createServer((req,?res)=>{
????//獲取IP,get數(shù)據(jù)和post數(shù)據(jù)
????let?path,get,post
????//判斷前端發(fā)起的是哪一種請(qǐng)求方式。
????if(req.method?==?'GET'){
????????//拿到瀏覽器的完整請(qǐng)求路徑和攜帶的參數(shù),然后結(jié)構(gòu)賦值
????????let?{pathName,?query}?=?url.parse(req.url,true)
????????//將值返回出去
????????path?=?pathName
????????get?=?query
????????
????????complete()
????}else?if(req.method?==?'POST'){
????????let?arr?=?[]
????????//分段監(jiān)聽(tīng)buffer流
????????req.on('data',?buffer?=>?{
????????????arr.push(buffer)
????????})
????????//監(jiān)聽(tīng)最后一段buffer流
????????req.on('data',?()?=>{
????????????//將二進(jìn)制的Buffer流數(shù)據(jù)轉(zhuǎn)換成json對(duì)象,然后返回出去
????????????post?=?queryString.parse(Buffer.concat(arr).toString())
????????})
????????complete()
????}
????????//定義調(diào)用接口的函數(shù)
????function?complete(){
????????//定義/login接口
????????if(path?==?'/login'){
????????????let?{username,?password}?=?get
????????????if(!user[username]){//如果數(shù)據(jù)庫(kù)中沒(méi)有該用戶
????????????????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'){?//定義/reg接口
????????}else?{
????????}
????}
}).listen(8080)//監(jiān)聽(tīng)端口號(hào)
2021-06-21
找到錯(cuò)了,這里解構(gòu)賦值寫錯(cuò)了,? let?{pathName,?query}?=?url.parse(req.url,true),我以為pathName是隨意命名的,打印了?url.parse(req.url,true)才知道是
2021-06-21
username改成userName還是不行