1. 程式人生 > >nodejs之處理表單資料

nodejs之處理表單資料

接收從頁面傳送過來的資料。首先的將html表單放在form裡,然後將form的method屬性設定為post。

接著在伺服器端設定判段當請求的型別為post時處理資料,例如:form的action屬性為Add.js。

var http=require("http");
var fs=require("fs");
var qs=require("querystring");


var datas=[];
var server=http.createServer(function(req,res){
var adddata="";
console.log("開始訪問");
if(req.method=="GET")//請求為get型別時
{
switch(req.url){
case '/index.html'://請求的頁面為index.html
fs.readFile("./index.html",function(err,data){
if(err){
throw err;
}
else{
res.writeHeader(200,{"ContentType":"text/html"});
res.write(data.toString());
res.end();
}
})
break;

case '/Add.html'://請求Add.html頁面
fs.readFile("./Add.html",function(err,data){
if(err){
throw err;
}
else{
res.writeHeader(200,{"ContentType":"text/html"});
res.write(data.toString());
res.end();
}
})
break;
}
}
else if(req.method=="POST"){//當請求為post時
switch(req.url){
case "/Add.js"://action為Add.js
req.on("data",function(chunck){//req物件啟動data方法,此方法將會多次獲取提交的資料,如果提交的資料量大的話。
adddata+=chunck;
});

req.on("end",function(){//當接收完所有的資料將會觸發end事件
var data=qs.parse(adddata);//qs.parse()方法,將頁面傳來的name="s" & password="s"轉化為一個物件,例如data,然後data就擁有name和password的屬性了
datas.push(data);//將其儲存在陣列中
var html="<html><head><title>資料</title></head><body><table>";
var center="";
for(var i=0;i<datas.length;i++){
center+="<tr><td>"+datas[i].name+"</td>"
center+="<td>"+datas[i].password+"</td><tr>"
}
html+=center;
html+="</table></body></html>";

res.writeHeader(200,{"ContentType":"text/html"});
res.end(html);
});
break;
}
}


});
server.listen(7777);

啊,下一步應該要接觸到資料庫了,有點小激動,我先將我的visual c#整完吧,明天繼續nodejs(我明天看慕課網的視訊)

接下來還得將h5過下