为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的端口起不来?浏览器http://localhost:8080/login?userName=qinfubin&password=123456没反应

const http = require('http')

const url = require('url')

const queryString = require('querystring')


//模拟数据库

let user = {

    admin:123456 //用户和密码

}

//搭建服务器

http.createServer((req, res)=>{

    //获取IP,get数据和post数据

    let path,get,post

    //判断前端发起的是哪一种请求方式。

    if(req.method == 'GET'){

        //拿到浏览器的完整请求路径和携带的参数,然后结构赋值

        let {pathName, query} = url.parse(req.url,true)

        //将值返回出去

        path = pathName

        get = query

        

        complete()

    }else if(req.method == 'POST'){

        let arr = []

        //分段监听buffer流

        req.on('data', buffer => {

            arr.push(buffer)

        })

        //监听最后一段buffer流

        req.on('data', () =>{

            //将二进制的Buffer流数据转换成json对象,然后返回出去

            post = queryString.parse(Buffer.concat(arr).toString())

        })

        complete()

    }


        //定义调用接口的函数

    function complete(){

        //定义/login接口

        if(path == '/login'){

            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:'密码错误'

                }))

            }else {

                res.end(JSON.stringify({

                    err:0,

                    msg:'登录成功'

                }))

            }

        }else if(path == 'reg'){ //定义/reg接口


        }else {


        }

    }

}).listen(8080)//监听端口号


正在回答

2 回答

找到错了,这里解构赋值写错了,  let {pathName, query} = url.parse(req.url,true),我以为pathName是随意命名的,打印了 url.parse(req.url,true)才知道是


Url {  protocol: null,  slashes: null,  auth: null,  host: null,  port: null,  hostname: null,  hash: null,  search: '?username=qinfubin&password=123456',  query: [Object: null prototype] { username: 'qinfubin', password: '123456' },  pathname: '/login',  path: '/login?username=qinfubin&password=123456',  href: '/login?username=qinfubin&password=123456'}


1 回复 有任何疑惑可以回复我~
#1

weixin_慕圣6248981

跟你犯了同一个错误...感谢提醒
2021-09-10 回复 有任何疑惑可以回复我~

username改成userName还是不行

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的端口起不来?浏览器http://localhost:8080/login?userName=qinfubin&password=123456没反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信