码迷,mamicode.com
首页 > 其他好文 > 详细

node初学制作登录服务器实例

时间:2018-08-23 19:32:18      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:win   put   err   com   title   reg   text   type   存在   

文件目录如下:

 技术分享图片

user.html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
<p>用户名:<input type="text" id="user"></p>
<p>密码:<input type="password" id="pass"></p>
<input type="button" value="注册" id="reg_btn">
<input type="button" value="登录" id="login_btn">
<script src="ajax.js" charset="utf-8"></script>
<script type="text/javascript">
window.onload=function(){
var oTextUser=document.getElementById(‘user‘);
var oTxtPass=document.getElementById(‘pass‘);
var oBtnReg=document.getElementById(‘reg_btn‘);
var oBtnLogin=document.getElementById(‘login_btn‘);

oBtnReg.onclick=function(){
ajax({
url:‘/user‘,
data:{act:‘reg‘,user:oTextUser.value,pass:oTxtPass.value},
type:‘get‘,
success:function(str){
var json=eval(‘(‘+str+‘)‘);

if(json.ok){
alert(‘注册成功‘);
}
else{
alert(‘注册失败‘+‘,‘+json.msg);
};
},
error:function(){
alert(‘通信失败‘);
}
})
}
oBtnLogin.onclick=function(){
ajax({
url:‘/user‘,
data:{act:‘login‘,user:oTextUser.value,pass:oTxtPass.value},
type:‘get‘,
success:function(str){
var json=eval(‘(‘+str+‘)‘);

if(json.ok){
alert(‘登录成功‘);
}
else{
alert(‘登录失败‘+‘,‘+json.msg);
};
},
error:function(){
alert(‘通信失败‘);
}
})
}
}
</script>
</body>
</html>

server.js代码:

var http=require(‘http‘);
var fs=require(‘fs‘);
var querystring=require(‘querystring‘);
var urlLib=require(‘url‘);

var users={};

var server=http.createServer(function(req,res){
var str=‘‘;
req.on(‘data‘,function(data){
str+=data;
});

req.on(‘end‘,function(){
var obj=urlLib.parse(req.url,true);
var url=obj.pathname;
var GET=obj.query;
var POST=querystring.parse(str);
//访问接口
if(url==‘/user‘){
switch(GET.act){
case ‘reg‘:
//1.检查用户名是否已经有了
if(users[GET.user]){
res.write(‘{"ok":false,"msg":"此用户已存在"}‘);
}
else{
users[GET.user]=GET.pass;
res.write(‘{"ok":true,"msg":"注册成功"}‘);
}
break;
case ‘login‘:
if (users[GET.user]==null) {
res.write(‘{"ok":false,"msg":"此用户不存在"}‘);
}
else if(users[GET.user] != GET.pass){
res.write(‘{"ok":false,"msg":"用户名或密码有误"}‘);
}
else{
res.write(‘{"ok":true,"msg":"登录成功"}‘);
}
break;
default:
res.write(‘{"ok":false,"msg":"未知的act"}‘);
}
res.end();
}
else{
//访问文件
var file_name=‘./www‘+url;
fs.readFile(file_name,function(err,data){
if(err){
res.write(‘404‘);
}
else{
res.write(data);
}
res.end();
})
}

})
})
server.listen(8080);

 

node初学制作登录服务器实例

标签:win   put   err   com   title   reg   text   type   存在   

原文地址:https://www.cnblogs.com/fanfan0916/p/9524882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!