zoukankan      html  css  js  c++  java
  • 原生node路由操作以及注意事项

    var http = require("http");
    var url = require("url");
    var ejs = require("ejs");
    var querystring = require("querystring");
    var server = http.createServer(function(req,res){
        res.writeHead(200,{"content-type":"text/html;charset=utf-8"});
        //当输入  localhost:8000/login  请求登录页面   
        //当点击 登录按钮   提交数据  action 路径???
        var pathname = url.parse( req.url ).pathname;
        //获取客户端请求数据的方式 get  post
        var method = req.method.toLowerCase();
        //路由  显示登录页面
        if( pathname == "/login" ){
            //请求登录页面
            ejs.renderFile("views/login.ejs",{},function(err,data){
           //注意:如果传送的数据是json套json或者是数组ejs模板只能显示最基本的变量值 object.username 不能显示object类型的数据。 res.end(data); }) }
    else if( pathname === "/dologin" && method ==="get" ){ //添加路由 实现登录功能 var query = url.parse( req.url , true).query //接收客户端请求的数据 console.log(query.username,query.userpwd); //接收客户端请求的用户名和密码 res.end("dologin"); }else if( pathname === "/dologin" && method ==="post" ){ console.log(999) //获取post方式提交的数据 //通过data事件 响应数据 var dataStr = ""; req.on("data",function(data){ dataStr += data; }) //通过end事件 告诉服务器 数据接收完毕 req.on("end",function(){ //console.log(dataStr); username=aaa&userpwd=888 //JSON.parse( '[{}]' ) ('{}') var json = querystring.parse( dataStr ); // console.log( json.username ,json.userpwd ); //假设 如果 客户端传递的是admin 密码 123456 要求提示登录成功 否则登录失败 if( json.username =="admin" && json.userpwd =="123456" ){ console.log(10000) res.write("<script>alert('登录成功');location.href='/home'</script>"); //localhost:8000/home res.end(); }else{ res.write("<script>alert('登录失败');location.href='/login'</script>"); //localhost:8000/home res.end(); } }) }else if( pathname === "/home" ){ //请求index.ejs页面 ejs.renderFile("views/home.ejs",{},function(err,data){ res.end(data); }) } }).listen(8000);
    //服务页
    let http = require('http');
    let urlStr = require('url');
    
    let model = require('./model');
    
    let server =  http.createServer((req,res)=>{
        let url = urlStr.parse(req.url,true);
        //这是一个url 对象。
        if(url.pathname==='/login'&&req.method.toLowerCase()==='get'){
            model.login(req,res);
        }else if(url.pathname==='/dologin'&&req.method.toLowerCase()==='post'){
            model.dologin(req,res);
        }
     })
     server.listen(3000,()=>{
         console.log('start');
     })
    
    //================
    model页面
    /**
     * this is router handle 
     */ 
    
     let url = require('url');
     let ejs = require('ejs');
    //  模块依赖项
    
    module.exports = {
        login(req,res){
           ejs.renderFile('./ejs/login.ejs',{login:'登录'},(err,html)=>{
                res.end(html);
           })
        },
        dologin(req,res){
            let arr = [
                {"pid":1,"pname":"小米1","price":2888},
                {"pid":2,"pname":"小米2","price":3888},
                {"pid":3,"pname":"小米3","price":4888},
                {"pid":4,"pname":"小米4","price":5888},
                {"pid":5,"pname":"小米5","price":6888},
            ]
            ejs.renderFile('./ejs/index.ejs',{dologin:'登录成功',goods:arr,year:2011},(err,html)=>{
                res.end(html);
            })
        }
    }
    主页<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
      <div>
        <%=dologin%>
      </div>
        <%goods.map((message,ind)=>{%>
           <div style="float: left;border: 1px solid black">
               <%for(i in message){%>
                    <div style="border: 1px solid black"><%=message[i]%></div>
                <%}%>
            </div>
        <%})%>
        <%if(year%4===0&&year%100!==0||year%400===0){%>
                <div><%=year%>是闰年</div>
        <%}else{%>
            <div><%=year%>不是闰年</div>
            <%}%>
    </body>
    </html>
    登录页<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
       <form action="/dologin" method="POST">
            <input type="text" name="username">
            <input type="password" name="password">
            <button> <%=login%></button>
       </form>
    </body>
    </html>
  • 相关阅读:
    网络通信协议八之(传输层)TCP协议详解
    MongoDB数据库连接失败
    Flask web开发之路十四
    Flask web开发之路十三
    Flask web开发之路十二
    Flask web开发之路十一
    Flask web开发之路十
    NEERC 1999 Advertisement /// oj22646
    upper_bound() lower_bound() 用法
    palindrome 回文 /// Manacher算法
  • 原文地址:https://www.cnblogs.com/l8l8/p/9306299.html
Copyright © 2011-2022 走看看