node.js实现登录注册页面

发布时间 - 2026-01-11 00:33:55    点击率:

本文实例为大家分享了node.js登录注册页面展示的具体代码,供大家参考,具体内容如下

首先需要新建四个文件

一个服务器js

一个保存数据的txt

一个登陆、一个注册页面html

1、注册页面

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>regist</title>
</head>
<body>
  <div>
    <label for="user">用户名</label><input type="text" id="user">
  </div>
  <div>
    <label for="password">密   码</label><input type="password" id="password">
  </div>
  <div>
    <button id="register">注册</button>
  </div>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $(function () {
    $("#register").click(function () {
      $.ajax({
        url:"http://localhost:3000/register",
        type:"POST",
        data:{
          username:$("#user").val(),
          password:$("#password").val()
        },
        success:function (res) {
          alert(res);
        },
        error:function (err) {
          console.log(err);
        }
      })
    })
  });
</script>
</html>

2、登录界面

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>login</title>
</head>
<body>
  <div>
    <label for="user">用户名</label><input type="text" id="user">
  </div>
  <div>
    <label for="password">密&nbsp;&nbsp;&nbsp;码</label><input type="password" id="password">
  </div>
  <div>
    <button id="login">登录</button>
    <button id="register"><a href="regist.html">注册</a></button>
  </div>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $(function () {
    $("#login").click(function () {
      if ($("#user").val().length == 0){
        return alert("请输入内容!");
      }
      if ($("#password").val().length == 0){
        return alert("请输入密码!");
      }

      $.ajax({
        url:"http://localhost:3000/login",
        type:"POST",
        data:{
          username:$("#user").val(),
          password:$("#password").val()
        },
        success:function (res) {
          alert("登录成功!")
        },
        error:function (err) {
          console.log(err);
        }
      })

    })
  });
</script>
</html>

3、搭建服务器

var http = require("http");
var url = require("url");
var qs = require("querystring");
var fs = require("fs");

http.createServer(function (req , res) {
//设置请求头
  res.setHeader("Access-Control-Allow-Origin","*");
  if(req.method == "POST"){
    //接收发来的用户名和密码
    var result = "";
//获取前端代码发来的路由地址
    var pathName = url.parse(req.url).pathname;
    req.addListener("data",function (chunk) {
      result += chunk;
    });

    req.on("end" , function () {
      var user = qs.parse(result);
      //判断用户是否存在
      if(user.username){
        fs.readFile("db.txt" , "utf-8" , function (err,data) {
          if (!err){
            console.log("读取文件成功");
            if (!data){
              if(pathName == "/login"){
                res.end("该用户不存在");
                return;
              }
//根据前端发来的路由地址判断是登录还是注册页面,如果是注册页面
              if(pathName == "/register"){
//创建一个数组一个对象来保存帐号和密码
                var arr = [];
                var obj = {};
//把用户的帐号密码保存
                obj.username = user.username;
                obj.password = user.password;
                arr.push(obj);
//同步写入db.txt文件,必须是同步进行
                fs.writeFileSync("db.txt" , JSON.stringify(arr) , "utf-8");
                res.end("注册成功!");
                return;
              }
            }else {
              console.log("文件中有数据");
//把数据转成JSON对象,以便我们使用
              var arr = JSON.parse(data);
//遍历整个保存数据的数组 判断登录注册
              for(var i = 0;i < arr.length;i++){
                var obj = arr[i];
                if(obj.username == user.username){
                  if(pathName == "/login"){
                    if (obj.password == user.password){
                      res.end("登录成功!");
                      return;
                    }else {
                      res.end("密码错误!");
                      return;
                    }
                  }
                  if(pathName == "/register"){
                    res.end("该用户已存在!");
                    return;
                  }
                }
              }
              if(pathName == "/login"){
                res.end("用户名不存在!");
                return;
              }
              if(pathName == "/register"){
//创建新对象写入数据
                var obj = {};
                obj.username = user.username;
                obj.password = user.password;
                arr.push(obj);
                fs.writeFileSync("db.txt" , JSON.stringify(arr) , "utf-8");
                res.end("注册成功!");
                return;
              }
            }
          }else {
            console.log("读取文件失败");
          }
        })
      }
    });
  }else {
    res.end("get请求");
  }
}).listen(3000 , function (err) {
  if (!err){
    console.log("服务器启动成功,正在监听port3000...");
  }
});

4、在db.txt文件中可以查看注册信息

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# node.js  # 登录  # 注册  # node.js 一个简单的页面输出实现代码  # 一步步教你使用node搭建一个小页面  # 请输入  # 不存在  # 该用户  # 注册成功  # 遍历  # 中有  # 帐号  # 大家分享  # 创建一个  # 具体内容  # 转成  # 大家多多  # 可以查看  # 是否存在  # 以便我们  # password  # button  # src  # script  # register 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  如何快速搭建自助建站会员专属系统?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  微信小程序 五星评分(包括半颗星评分)实例代码  晋江文学城电脑版官网 晋江文学城网页版直接进入  javascript中闭包概念与用法深入理解  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  深圳网站制作平台,深圳市做网站好的公司有哪些?  JavaScript Ajax实现异步通信  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  如何用PHP工具快速搭建高效网站?  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  JavaScript实现Fly Bird小游戏  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  如何挑选最适合建站的高性能VPS主机?  javascript基于原型链的继承及call和apply函数用法分析  免费网站制作appp,免费制作app哪个平台好?  Laravel Fortify是什么,和Jetstream有什么关系  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  SQL查询语句优化的实用方法总结  如何在阿里云域名上完成建站全流程?  大型企业网站制作流程,做网站需要注册公司吗?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Android使用GridView实现日历的简单功能  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel如何处理CORS跨域请求?(配置示例)  如何在万网自助建站平台快速创建网站?