node.js--ルーティングの簡単な構成とパッケージを通してgetとpost送信値を取得する。
23621 ワード
一、ルートの簡単な構成は、get転送値を取得する(以下のフォームを例にする) 。 postパス値(以下のフォームを例にして)
let http=require("http");
http.createServer((require,response)=>{
let path = url.parse(require.url); //
let pathname=path.pathname; //
if(pathname!="/favicon.ico"){
// “/favicon.ico”
response.writeHead(200,{
"Content-Type":"text/html;charset=utf-8;"});
//
if(pathname=="/"){
response.end(" ");
}
if(pathname=="/login"){
response.end(" ");
}
if(pathname=="/my"){
response.end(" ");
}
response.end(); // end
}
}).listen(8000,"127.0.0.1",()=>{
console.log("http://127.0.0.1:8000");
})
二、ルートのパッケージ , :
1. router.js
2. , ,
module.exports={
"/":(require,response)=>{
// ,
response.end(" ");
},
"/login":(require,response)=>{
response.end(" ");
},
"/my":(require,response)=>{
response.end(" ");
},
}
3.
let http = require("http");
let router = require("./router"); //
let path = url.parse(require.url); //
let pathname=path.pathname; //
http.createServer((require,response)=>{
if(pathname!="/favicon.ico"){
response.writeHead(200,{
"Content-Type":"text/html;charset=utf-8;"});
// [ ]
if(router[pathname]){
//router[pathname]
// , ,
router[pathname](require,response);
}else{
response.end("404");
}
}
}
三、getとpost伝値を取得する(ルートを結合する)1. "/index" get
/* :admin :12345*/
<form action="/index" method="get">
<ul>
<li><label for=""> :</label><input name="userid" type="text"></li>
<li><label for=""> :</label><input name="userpwd" type="text"></li>
<li><input type="submit"></li>
</ul>
</form>
2. “/index ” ,
module.exports={
"./index":(require,response)=>{
console.log(require.url); ///index?userid=admin&userpwd=12345
let path = url.parse(require.url,true).query; // ,
console.log(path); //path get
// { userid: 'admin', userpwd: '12345' }
}
}
3.
1. "/index" post
/* :admin :12345*/
<form action="/index" method="post">
<ul>
<li><label for=""> :</label><input name="userid" type="text"></li>
<li><label for=""> :</label><input name="userpwd" type="text"></li>
<li><input type="submit"></li>
</ul>
</form>
2. “/index ” ,
--- get ,post
---post
module.exports={
"./index":(require,response)=>{
let info= "?"; // get
//data : ,
require.on("data",(result)=>{
info+=result;
})
//end : ,
require.on("end",()=>{
/*
--info userid=admin&userpwd=12345 get ( get “?” )--
-- info “?” get , --
*/
console.log(info);
// ?userid=admin&userpwd=12345
console.log( url.parse(info,true).query);
ejs.renderFile("view/index.html",(error,str)=>{
if(error){
throw error;
}
response.end(str);
})
})
}
}