注册登陆的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'); })复制代码