博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node 实现简单的数据交互入门
阅读量:6893 次
发布时间:2019-06-27

本文共 4086 字,大约阅读时间需要 13 分钟。

注册登陆的html 代码简单 就不一一讲诉了 直接贴代码

用户名:    
密 码:
复制代码

登陆页面的javascript

window.onload = function(){        var $username = document.getElementById('username'),            $password = document.getElementById('password'),            $login = document.getElementById('login'),            $register = document.getElementById('register');        $login.addEventListener('click',function(){          var uservalue = $username.value;          var password =  $password.value;          if (!!uservalue && !!$password) {            var xhr = new XMLHttpRequest();            xhr.open('post','http://localhost:8080/login');            xhr.send(`username=${uservalue}&password=${password}`);            xhr.onreadystatechange = function() {              if (xhr.readyState === 4 && xhr.status === 200 ) {                //逻辑处理              }            }          }         })        $register.addEventListener('click',function(){          var uservalue = $username.value;          var password =  $password.value;          if (!!uservalue && !!$password) {            var xhr = new XMLHttpRequest();            xhr.open('post','http://localhost:8080/register');            xhr.send(`username=${uservalue}&password=${password}`);            xhr.onreadystatechange = function() {              if (xhr.readyState === 4 && xhr.status === 200 ) {               //逻辑处理              }            }          }         })      }复制代码

下面开始写node

  • 引入相应的模块
    • const http = require('http');
    • const url = require('url');
    • const querystring = require('querystring'); //处理post请求参数
    • const fs =require('fs'); //读取文件模块
  • 存储请求数据
    • const user = {} eg:username:'',password:'';
  • 创建一个服务器
    const server = http.createServer((req,res)=>{    res.setHeader('Access-Control-Allow-Origin', '*'); //设置请求头跨域    //post请求    let str = '';    req.on('data', (data) => {        str += data;    })    req.on('end', () => {        const {username, password} = querystring.parse(str); //获取请求参数    })    server.listen('8080',()=>{      console.log('localhost:8080');    })复制代码

完整代码

const http = require('http');    const url = require('url');    const querystring = require('querystring');    const fs =require('fs');    const user = {}    const server = http.createServer((req,res)=>{      res.setHeader('Access-Control-Allow-Origin', '*');      const {pathname, query} = url.parse(req.url,true);      let str = '';      req.on('data', (data) => {        str += data;      })      req.on('end', () => {        const {username, password} = querystring.parse(str);        switch (pathname) {          case '/register':            if (!username) {              res.writeHead(412);              res.write('{code:412,msg:""}');            } else if (!password) {              res.writeHead(412);              res.write('{code:412,msg:""}');            } else if (user[username]) {              res.writeHead(412);              res.write('{code:412,msg:""}');            } else {              user[username] = password;              res.write('{code:200,msg:"成功"}');            }            res.end();            break;          case '/login':            if (!username) {              res.writeHead(412);              res.write('{code:412,msg:"请输入用户名"}');            } else if (!password) {              res.writeHead(412);              res.write('{code:412,msg:"请输入密码"}');            } else if (!user[username]) {              res.writeHead(412);              res.write('{code:412,msg:"用户名不存在"}');            } else if (user[username] !== password) {              res.writeHead(412);              res.write('{code:412,msg:"密码错误"}');            } else {              res.write('{code:200,msg:"成功"}');            }            res.end();            break;          default:            fs.readFile(`user/${pathname}`,(err, data)=>{              if (err) {                res.writeHead(404);                res.write('Not found');              } else {                res.write(data);              }              res.end();            })            break;        }      })    })    server.listen('8080',()=>{      console.log('localhost:8080');    })复制代码

转载地址:http://eshbl.baihongyu.com/

你可能感兴趣的文章
待看东西
查看>>
创建和使用RMAN存储脚本
查看>>
杂七杂八的文档资料。
查看>>
C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 访问频率限制功能实现、防止黑客扫描、防止恶意刷屏...
查看>>
eclipse中项目右上方有一个s,eclipse中项目左下方友谊个红色的叉,eclipse中项目左下方友谊个红色的感叹号...
查看>>
gis数据格式转换(数据导入)ConvertFeaCls
查看>>
启发式算法(Heuristic Algorithm)
查看>>
李洪强iOS学习交流群-iOS大神群
查看>>
Netty权威指南之NIO通信模型
查看>>
Java静态分派与动态分派(二)
查看>>
How to: Set Tomato Firmware for Wireless Client Modes
查看>>
Eclipse上GIT插件EGIT使用手册之八_解决推送冲突
查看>>
CSS 技巧
查看>>
【剑指Offer学习】【面试题19 :二叉树的镜像】
查看>>
NTFS会对游戏运行有不良影响吗?
查看>>
初识C++继承
查看>>
怎么和公司谈出合理的期权激励?
查看>>
产品经理如何进行产品数据分析?
查看>>
SQL PROMPT 取消dbo前缀
查看>>
java.lang.ClassNotFoundException: SparkPi$$anonfun$1
查看>>