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

文件目录如下:

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);

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

时间: 2024-10-10 01:52:22

node初学制作登录服务器实例的相关文章

Node.js_express_中间件 middleware_登录/注册实例

静态资源: 都写死了的资源,如 css,html 解析规则: 所有路由和中间件都在一个数组中,js 引擎会按照代码先后顺序添加路由和中间件 当请求发送到服务器时,服务器获取当前的请求信息(请求方式.请求路由路径) 遍历数组,找到第一个匹配(请求路由路径和请求方式必须完全一致)到的路由或者中间件,执行其回调函数 意味着: 声明多个同名路由时,始终解析第一个 如果没找到,返回一个状态码为 404 的响应, Cannot GET / xxx    或者  Cannot POST / xxx 中间件 m

使用GO语言灵活批量ssh登录服务器执行操作

摘要: 在工作中时常需要登录服务器做一系列操作,每次输入ssh xxx总是很麻烦.这时候为什么不考虑写一个通用的小脚本呢? go语言是一门新兴语言,能够在很多地方发挥总用.初学go语言,做了这么一个小工具,也算是练练手了. 这个小程序实现的功能是从用户指定的文件中读取相关配置,然后根据用户指令执行相关操作. 代码如下: package main import ( "fmt" "golang.org/x/crypto/ssh" "os" "

Struts2开发环境搭建,及一个简单登录功能实例

首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1.3,下载struts-2.3.16.3-all.zip,解压,放着. 第二步 新建Web Project并导入jar包在MyEclispe中新建Web Project,然后找到解压的Struts2包,在里面apps文件夹下找到struts2-blank.war,解压这个WAR文件,将里面WEB-IN

Node初学

node   起始 Javascript 工具           → 组 件   →        框架            →        应用(业务模版组织) 浏览器兼容               功能模版            功能模版组织 (实现特效) Javascript     先天缺乏(弱项) 模块 commonJs规范 希望Javascript能在任何地方运行 Javascript(缺陷)                       commonJs规范涵盖 没有模块系统

Node.js线上服务器部署与发布

第1章 课程预热对整个部署思路进行全流程介绍,通过 5 个不同类型项目,来演示从本地的仓库到最终线上稳定运行的整个项目部署发布流程,来帮助始终编程在一线的前端或者后端工程师,甚至是有 Coding 能力的产品经理,从操作流程和架构形态上,掌握从零开始的项目上线环节,掌握这关键一步,跨过去前端到后端,本地到线上,开发到生产...1-1 为什么是全栈最后一公里1-2 搭建线上生产环境需要做什么 第2章 待部署的 5 个本地 Nodejs 项目分别介绍五个技术架构和产品形态的项目背景,一个 Nodej

java model2用户登录简单实例

上一篇博客对model1和model2进行了对比总结,这篇博客对model2的思想"实例化"一下,介绍一个model2的登陆实例. 实例很简单:用户在index.jsp页面输入用户名和密码,提交到servelt,servlet调用manager的方法,manager进行逻辑判断,判断后servlet会将页面转到show.jsp页面,show.jsp会反馈用户登录的情况. index.jsp 在这个页面中有用户名和密码的文本框,已经提交页面的submit按钮.当点击submit按钮整个f

SharePoint 2010 Reporting Services 报表服务器实例没有正确配置 解决方法

报表服务器实例没有正确配置.请先使用 Reporting Services 配置工具创建 SharePo 在管理中心配置Reporting Services集成时候,报下面的错误 报表服务器实例没有正确配置.请使用Reporting Services配置工具创建SharePoint集成模式的报表服务器数据库,然后再为此SharePoint Web应用程序设置集成选项. 这说明Reporting Services配置管理器的数据库使用了默认的数据库,没有创建SharePoint集成数据库 新建数据

使用“忽略授权表”参数登录多实例数据库——用于多实例数据库忘记密码时登录

昨天上午,在视频"L10-008-lamp环境之MySQL多实例安装配置指南"马上就要结束的时候,再次遇到问题. 前天晚上,根据视频讲解在清理多余MySQL数据库账号后,就直接退出数据库并关机了(没有在清理账号后,退出数据库并重新登录数据库--其实,也没有必要做这样的测试).昨天早上打开虚拟机,想着完成视频的最后一小部分.没想到,在使用密码登录3306实例的时候,无论如何也登录不进去了. [[email protected] 3306]# mysql -uroot -p -S /dat

Nginx与MogileFS架构图片服务器实例

利用Nginx和MogileFS架构图片服务器 在之前的文章中以介绍如何搭建MogileFS:这里就不提了. 一,Nginx安装 在标准的nginx安装中增加支持MogileFS的模块,vkholodkov-nginx-mogilefs-module-249f2b0Nginx的配置mogilefs_pass [<key>] {<fetch block>} 使用范围:server,location,limit_except向MogileFS tracker查找URI中指定的关键字,关