前端小白,正在学习使用 Node.js 做登陆和注册,下面 demo 遇到不明白的地方,希望前辈们能指点:
1、数据是怎么进入 var users={}的呢? 2、这种写法是什么意思 users[GET.user]?为什么可以这样写?
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢。。。。。。。
const http=require('http');
const fs=require('fs');
const querystring=require('querystring');
const 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);
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]){
console.log(users)
console.log(users[GET.user])
res.write('{"ok": false, "msg": "此用户已存在"}');
}else{
//2.插入 users
users[GET.user]=GET.pass;
res.write('{"ok": true, "msg": "注册成功"}');
}
break;
case 'login':
//1.检查用户是否存在
if(users[GET.user]==null){
res.write('{"ok": false, "msg": "此用户不存在"}');
//2.检查用户密码
}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='./file'+url;
fs.readFile(file_name, function (err, data){
if(err){
res.write('404');
}else{
res.write(data);
}
res.end();
});
}
}); });
server.listen(6036);
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.