本文實(shí)例為大家分享了node.js登錄注冊(cè)頁(yè)面展示的具體代碼,供大家參考,具體內(nèi)容如下
目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、云州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
首先需要新建四個(gè)文件
一個(gè)服務(wù)器js
一個(gè)保存數(shù)據(jù)的txt
一個(gè)登陸、一個(gè)注冊(cè)頁(yè)面html
1、注冊(cè)頁(yè)面
regist
2、登錄界面
login
3、搭建服務(wù)器
var http = require("http"); var url = require("url"); var qs = require("querystring"); var fs = require("fs"); http.createServer(function (req , res) { //設(shè)置請(qǐng)求頭 res.setHeader("Access-Control-Allow-Origin","*"); if(req.method == "POST"){ //接收發(fā)來(lái)的用戶名和密碼 var result = ""; //獲取前端代碼發(fā)來(lái)的路由地址 var pathName = url.parse(req.url).pathname; req.addListener("data",function (chunk) { result += chunk; }); req.on("end" , function () { var user = qs.parse(result); //判斷用戶是否存在 if(user.username){ fs.readFile("db.txt" , "utf-8" , function (err,data) { if (!err){ console.log("讀取文件成功"); if (!data){ if(pathName == "/login"){ res.end("該用戶不存在"); return; } //根據(jù)前端發(fā)來(lái)的路由地址判斷是登錄還是注冊(cè)頁(yè)面,如果是注冊(cè)頁(yè)面 if(pathName == "/register"){ //創(chuàng)建一個(gè)數(shù)組一個(gè)對(duì)象來(lái)保存帳號(hào)和密碼 var arr = []; var obj = {}; //把用戶的帳號(hào)密碼保存 obj.username = user.username; obj.password = user.password; arr.push(obj); //同步寫入db.txt文件,必須是同步進(jìn)行 fs.writeFileSync("db.txt" , JSON.stringify(arr) , "utf-8"); res.end("注冊(cè)成功!"); return; } }else { console.log("文件中有數(shù)據(jù)"); //把數(shù)據(jù)轉(zhuǎn)成JSON對(duì)象,以便我們使用 var arr = JSON.parse(data); //遍歷整個(gè)保存數(shù)據(jù)的數(shù)組 判斷登錄注冊(cè) for(var i = 0;i < arr.length;i++){ var obj = arr[i]; if(obj.username == user.username){ if(pathName == "/login"){ if (obj.password == user.password){ res.end("登錄成功!"); return; }else { res.end("密碼錯(cuò)誤!"); return; } } if(pathName == "/register"){ res.end("該用戶已存在!"); return; } } } if(pathName == "/login"){ res.end("用戶名不存在!"); return; } if(pathName == "/register"){ //創(chuàng)建新對(duì)象寫入數(shù)據(jù) var obj = {}; obj.username = user.username; obj.password = user.password; arr.push(obj); fs.writeFileSync("db.txt" , JSON.stringify(arr) , "utf-8"); res.end("注冊(cè)成功!"); return; } } }else { console.log("讀取文件失敗"); } }) } }); }else { res.end("get請(qǐng)求"); } }).listen(3000 , function (err) { if (!err){ console.log("服務(wù)器啟動(dòng)成功,正在監(jiān)聽(tīng)port3000..."); } });
4、在db.txt文件中可以查看注冊(cè)信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。