node.js之简单的用户登录与注册
程序员文章站
2022-04-18 18:37:45
...
后台代码
//引入模块
const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const urlib = require('url');
var users = {}; //存放用户名和密码的Json
//搭建服务器
var server = http.createServer(function(req,res){
var str = '';
req.on('data',function(data){
str+=data;
});
req.on('end',function(){
var obj = urlib.parse(req.url,true);
const url = obj.pathname;
const GET = obj.query;
const POST = querystring.parse(str);
//区分接口、文件
if(url=='/user'){ //接口
switch(GET.act){
case 'reg': //注册
//检查用户名是否存在
if(users[GET.user]){
res.write('{"ok":false,"msg":"用户名已存在"}');
}else{ //插入到users
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);
前台
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
用户:<input type="text" id="user" ><br>
密码:<input type="password" id="pass"><br>
<input type="button" value="注册" id="reg_btn">
<input type="button" value="登录" id="login_btn">
<script src="ajax.js"></script>
<script>
window.onload = function(){
var o_user = document.getElementById('user');
var o_pass = document.getElementById('pass');
var o_reg = document.getElementById('reg_btn');
var o_login = document.getElementById('login_btn');
//注册
o_reg.onclick = function(){
ajax({
url:'/user',
data:{act:'reg',user:o_user.value,pass:o_pass.value},
type:'get',
success:function(str){
var json = eval('('+str+')');
if(json.ok){
alert('注册成功');
}else{
alert('注册失败:'+ json.msg);
}
},
error:function(){
alert('通信错误');
}
});
};
//登录
o_login.onclick = function(){
ajax({
url:'/user',
data:{act:'login',user:o_user.value,pass:o_pass.value},
type:'get',
success:function(str){
var json = eval('('+str+')');
if(json.ok){
alert('登录成功');
}else{
alert('登录失败'+ json.msg);
}
},
error:function(){
alert('通信错误');
}
});
};
}
</script>
</body>
</html>
上一篇: 发芽的豌豆,还能吃吗
推荐阅读
-
jsp基于XML实现用户登录与注册的实例解析(附源码)
-
使用JSP实现简单的用户登录注册页面示例代码解析
-
koa2 用户注册、登录校验与加盐加密的实现方法
-
(Node.js(一)处理http请求并响应、用户登录、模块化、第三方模块的安装(npm)、nrm安装与使用)
-
快速搭建Node.js(Express)用户注册、登录以及授权的方法
-
用户名密码注册与登录的应用
-
一个简单的后台与数据库交互的登录与注册[sql注入处理、以及MD5加密]
-
Android 客户端与PHP服务器的简单交互&&登录注册实例
-
Node.js学习之NVM版本管理器的安装与简单使用(NVM)
-
jsp基于XML实现用户登录与注册的实例解析(附源码)