用户的注册和登录
注册- /reg?username=xxx&password=xxx
=>{error: 1, msg: "为什么"}
登录- /login?username=xxx&password=xxx
=>{error: 1, msg: "为什么"}
const http=require('http');
const url=require('url');
const querystring=require('querystring');
const fs=require('fs');
let users={}
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{
path=req.url;
let arr=[];
req.on('data', buffer=>{
arr.push(buffer)
});
req.on('end', ()=>{
let buffer = Buffer.concat(arr);
post=querystring.parse(buffer.toStrin());
complete();
})
}
function complete(){
if(path=='/reg'){
let {username, password}=get;
if(users[username]){
res.write(JSON.stringify({error: 1, msg: '此用户已存在'}));
res.end();
}else{
users[username]=password;
res.write(JSON.stringify({error: 0, msg: ''}));
res.end();
}
}else if(path=='/login'){
let {username, password}=get;
if(!users[username]){
res.write(JSON.stringify({error: 1, msg: '找不到此用户'}));
res.end();
}else if(users[username].password!=password){
res.write(JSON.stringify({error: 1, msg: '密码不正确'}));
res.end();
}else{
res.write(JSON.stringify({error: 0, msg: ''}));
res.end();
}
}else{
fs.readFile(`www${path}`, (err, buffer)=>{
if(err){
res.writeHeader(404);
res.write('Not Found');
res.end();
}else{
res.write(buffer);
res.end();
}
})
}
}
}).listen(8080)
/www/1.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<script src="jquery.js" charset="utf-8"></script>
<script>
$(function (){
$('#btn1').click(()=>{
$.ajax({
url: '/reg',
data: {
username: $('#user').val(),
password: $('#pass').val()
},
dataType: 'json'
}).then(json=>{
if(json.error){
alert(json.msg);
}else{
alert('注册成功');
}
}, err=>{
alert('注册失败,请刷新重试');
});
});
$('#btn2').click(()=>{
$.ajax({
url: '/login',
data: {
username: $('#user').val(),
password: $('#pass').val()
},
dataType: 'json'
}).then(json=>{
if(json.error){
alert(json.msg);
}else{
alert('登录成功');
}
}, err=>{
alert('登录失败,请刷新重试');
});
});
});
</script>
</head>
<body>
用户:<input type="text" id="user" /><br>
密码:<input type="password" id="pass" /><br>
<input type="button" value="注册" id="btn1">
<input type="button" value="登录" id="btn2">
</body>
</html>
访问:localhost:8080/1.html