个人学习记录,仅供参考
参考
前台代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jQuery.js"></script>
<script>
window.onload = function () {
var oTxtUser = document.getElementById('user');
var oTxtPass = document.getElementById('pass');
var oBtnReg = document.getElementById('reg_btn');
var oBtnLogin = document.getElementById('login_btn');
oBtnLogin.onclick = function(){
$.ajax({
url:'/user',
data:{act:'login',user:oTxtUser.value,pass:oTxtPass.value},
type:'get',
success:function (str) {
var json = eval('('+str+')');
if(json.ok){
alert("登陆成功")
}else {
alert("登陆失败" + json.msg)
}
},
error:function () {
alert('通信错误')
}
})
}
oBtnReg.onclick = function () {
$.ajax({
url:'/user',
data:{act:'reg',user:oTxtUser.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>
</head>
<body>
用户名:<input type="text" id="user"><br>
密码:<input type="password" id="pass"><br>
<input type="button" id="reg_btn" value="注册">
<input type="button" id="login_btn" value="登陆">
</body>
</html>
后台代码
const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const urlLib = require('url');
var users = {};//模拟
http.createServer(function (req,res) {
//解析数据
var str = ''; //模拟
req.on("data",function (data) {
str += data;
});
req.on("end",function (err) {
var obj = urlLib.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':
//1.检查用户名是否已经有了
if(users[GET.user]){
res.write('{"ok":false,"mag":"此用户已存在"}');
}else {
//2.插入users
users[GET.user] = GET.pass;
res.write('{"ok":true,"mag":"注册成功"}');
}
break;
case 'login':
if(users[GET.user] == null){//1.检查用户是否存在
res.write('{"ok":false,"mag":"此用户不存在"}');
}else if(users[GET.user] != GET.pass){//2.检查用户密码是否正确
res.write('{"ok":false,"mag":"用户名或密码有误"}');
}else {
res.write('{"ok":true,"mag":"登陆成功"}');
}
break;
default:
res.write('{"ok":false,"mag":"未知的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();
});
}
});
}).listen(8080);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。