Node登入註冊頁面介面的開發----學習筆記(四)
阿新 • • 發佈:2021-01-17
技術標籤:Node
結合之前所學,開發登入註冊介面
完整的登入註冊頁面的開發
html頁面
login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery.js"></script>
</head>
<body>
<p>使用者名稱:<input type="text" id="username" /></p>
<p>密碼:<input type="password" id="password" /></p>
<button id="login">登入</button>
<button id="reg">註冊</button>
<script>
$('#login').click(function(){
$.ajax ({
url:'/login',
type:'get',
data: {
username:$('#username').val(),
password:$('#password').val()
},
dataType:'json',
success:function(res){
if(res.err){
alert(res.msg)
}else{
alert('登入成功!')
location. href = "http://www.baidu.com"
}
}
});
})
$('#reg').click(function(){
$.ajax({
url:'/reg',
type:'post',
data: {
username:$('#username').val(),
password:$('#password').val()
},
dataType:'json',
success:function(res){
if(res.err){
alert(res.msg)
}else{
alert('註冊成功!')
}
}
});
})
</script>
</body>
</html>
後臺介面的開發 app.js
const http = require('http');
const url = require('url');
const querystring = require('querystring')
const fs = require('fs')
let user = {
admin:123456
}
http.createServer((req,res)=>{
let path,get,post;
if(req.method =='GET'){
let {pathname,query} = url.parse(req.url,true)
path = pathname
get = query
complete()
}else if(req.method == 'POST'){
let arr = []
path = req.url
req.on('data',buffer=>{
arr.push(buffer)
})
req.on('end',()=>{
// 獲取請求的引數
post=querystring.parse(Buffer.concat(arr).toString())
complete()
})
}
function complete(){
if(path =='/login'){ // 登入介面
res.writeHead(200,{ // 設定返回的資料格式為utf-8
"Content-Type":"text/plain;charset=utf-8"
})
let {username,password} = get;
if(!user[username]){
res.end(JSON.stringify({
err:1,
msg:'使用者不存在'
}))
}else if(user[username] != password){
res.end(JSON.stringify({
err:1,
msg:'密碼錯誤'
}))
}else if(user[username] == password){
res.end(JSON.stringify({
err:0,
msg:'登入成功'
}))
}
}else if(path == '/reg'){ // 註冊介面
res.writeHead(200,{
"Content-Type":"text/plain;charset=utf-8"
})
let {username,password} = post;
if(user[username]){
res.end(JSON.stringify({
err:1,
msg:'賬戶已存在!'
}))
}else{
user[username] = password;
res.end(JSON.stringify({
err:0,
msg:'註冊成功'
}))
}
}else{ // 讀取檔案並返回檔案,在瀏覽器端開啟html檔案
fs.readFile(`.${path}`,(err,data)=>{
if(err){
res.end('404')
}else{
res.end(data)
}
})
}
}
}).listen(8080)
啟動服務,再在瀏覽器端開啟地址http://localhost:8080/login.html