Node get、post傳值

  • get傳值:前臺到後臺get傳值 url.parse模塊解析get傳值

  • post傳值:使用事件監聽,來獲取裏面的數據

App.js:

var http=require("http");
var router=require("./module/router");
http.createServer(router).listen(8100);

router.js:

var url=require("url");
var ejs=require("ejs");
module.exports=function(req,res){
    var path=url.parse(req.url,true);
    var pathname=path.pathname;
    if(pathname!="/favicon.ico"){
        if(pathname=="/"){
            ejs.renderFile("static/index.ejs","",function(err,str){
                if(err) return;
                res.end(str);
            });
        }
        else if(pathname=="/login"){
            var query=path.query;
            //前臺到後臺get傳值  url.parse模塊解析get傳值 取值是query.id,query.pwd
            console.log(query.id,query.pwd);
            ejs.renderFile("static/login.ejs","",function(err,str){
                if(err) return;
                res.end(str);
            });
        }
        else if(pathname=="/loginpost"){
            //post傳值使用事件監聽來獲取裏面的數據
            var result="?";
            req.on("data",function(res){
                result+=res.toString();
            });
            //當沒有可讀數據時觸發
            req.on("end",function(){
                console.log(url.parse(result,true));
            });
            ejs.renderFile("static/loginpost.ejs","",function(err,str){
                if(err) return;
                res.end(str);
            });
        }
    }
}

index.ejs:

<form method="get" action="/login">
    <ul>
        <li>賬號:<input type="text" name="id"/></li>
        <li>賬號:<input type="text" name="pwd"/></li>
        <li><input type="submit" value="登錄"/></li>
    </ul>
</form>
<form method="post" action="/loginpost">
    <ul>
        <li>賬號:<input type="text" name="id"/></li>
        <li>賬號:<input type="text" name="pwd"/></li>
        <li><input type="submit" value="登錄"/></li>
    </ul>
</form>

login.ejs:

<div>get傳值登錄成功!</div>

loginpost.ejs:

<div>post傳值登錄成功!</div>

目錄:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章