node—get/post路由

1.对web服务器的封装

app.js是主文件
node—get/post路由_第1张图片
node—get/post路由_第2张图片

2.基本路由配置

node—get/post路由_第3张图片

3.get传值

get传值使用url解析模块
解析路径let getData=url.parse(req.url,true).query;

1.js文件代码
 		//get传值
        else if(pathname=="/regest"){
     
            //解析一定要带第二个参数true,true是确认解析,将解析的值转化为json
            let getData=url.parse(req.url,true).query;
            ejs.renderFile("view/regest.ejs",{
     
                urldata:getData
            },(err,str)=>{
     
                if(err){
     
                    throw err;
                }
                res.end(str);
            })
        }
        
2. regest.ejs文件代码
<body>
    注册
    <%=urldata.name%>---<%=urldata.sex%>
</body>

在这里插入图片描述

4.post传值

只有表单验证才有
② 需要监听去拿值
③ 当在注册界面点击提交的时候,链接后边会加上 /denglu 会自动网址跳转到登录界面
④ 读取数据时需要给数据前加一个问号,因为post传值方法不会给网址后边加问号,不加问号的话,表单的数据无法转化出来

1. js文件代码
  //post传值
        else if(pathname=="/denglu"){
     
            let info="?";
            //data有数据可读时触发
            req.on("data",(res)=>{
     
                info+=res.toString();
            });
            //数据读取完成触发
            req.on("end",()=>{
     
                //postdata   表单数据
                console.log(postdata);   //{ userid: '1111', userpwd: '2222' }
                let postdata=url.parse(info,true).query;
                //跳转到denglu.ejs界面
                ejs.renderFile("view/denglu.ejs",{
     
                    postdata:postdata
                },(err,str)=>{
     
                    if(err){
     
                        throw err;
                    }
                    res.end(str);
                });
            });
        }


2. 注册界面的ejs代码
<body>
    注册
    <%=urldata.name%>---<%=urldata.sex%>
    <form action="/denglu" method="POST">
        <ul>
            <li>
                账号:<input type="text" name="userid">
            </li>
            <li>
                密码:<input type="text" name="userpwd">
            </li>
            <li>
                <input type="submit" value="登录">
            </li>
        </ul>
    </form>
</body>


3. 注册成功后的跳转页面
<body>
   登录成功!
   <%=postdata.userid%>----<%=postdata.userpwd%>
</body>

5.nodejs路由模块化封装

你可能感兴趣的:(node—get/post路由)