如何在html语言中实现登陆,网页中的登录注册功能是如何实现的

本文详细介绍了网页中登录和注册功能的实现过程,包括前端数据获取、JS发送请求、后端Node.js处理请求、数据校验、数据库操作等步骤,并强调了前端和后端数据校验的重要性。
摘要由CSDN通过智能技术生成

摘要:登录注册是一个网站最常用的也是最基本的功能,本文就来详细的介绍一下在网页中,实现这两个最基本的需求从后端到前端需要做些什么。

注:本文所提到的所有代码都已上传至github ,可以直接clone后在终端使用测试。

一、前置知识:

基础知识可见我之前的博客:HTTP入门(请求与响应的基本知识) 。首先我们至少需要了解HTTP最基本的request请求和response响应的相关概念。

再看一下服务端和客户端之间的交互,如下图:

42a886492c42

用文字描述一下:

客户端(即浏览器)向服务端发起request请求

服务端通过监听80端口(http)或443端口(https)来接收请求

服务端接收请求后进行相关处理

服务端向客户端发response响应。

客户端接收response响应,完成一次交互。

需要了解用JS如何向服务端发请求,举个例子:

let xhr = new XMLHttpRequest()

xhr.open('POST','/')

xhr.setRequestHeader('content-type','x-www-form-urlencoded') // 设置请求头

xhr.onreadystatechange = function(){

if(request.readyState === 4){ // 整个请求过程已完成

if(request.status >=200 && request.status < 400){ // 状态码在200到400之间,说明请求成功

successFn.call(undefined,request.responseText) //调用成功函数

}else{

failFn.call(undefined,request.status) // 调用失败函数

}

}

}

xhr.send(body) // 发送请求体

需要知道后端如何发出响应(Nodejs实现)

// 注:Nodejs中没有path、method、response这三个api,需要另外获取

// 这里的代码旨在我们了解后端需要做的事情,不用深入研究

if(path === '/' && method === 'GET'){

var string = fs.readFileSync('./index.html','utf-8') // 读取服务端文件

response.statusCode = 200 // 设置响应状态码

response.setHeader('Content-Type','text/html;charset=utf-8') // 设置响应头

response.write(string) // 设置响应体

response.end() // 本次响应结束

}

二、注册具体流程

1、首先前端需要做一个注册的页面

像这样:

42a886492c42

2、然后前端需要在用户提交数据后,获取到这些数据

let $form = $('#register-form')

$form.on('submit', function(e) {

e.preventDefault() // 阻止默认事件,因为form的submit事件默认会刷新页面

let hash = {}

let need = ['email', 'password', 'repassword']

need.forEach((name) => { // 通过遍历获取表单数据并存到hash里

let value = $form.find(`[name=${name}]`).val()

hash[name] = value

})

})

3、前端需要将上一步所获得的数据通过post请求发送给服务端

(为什么不是get请求呢,主要还是因为post相对来说更安全)

$.post('/register', hash) // 第一个参数与是路径,第二个参数要传给服务端的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值