前端
主要通过 html、css、javascript 来完成用户交互和视觉效果的实现
后端
主要通过各大后台语言 包括但不限于 java、php、aps.net、nodejs 等来实现业务功能以及接口
数据交互
想开发一个网站,我们一般分前端、后端,由于后端一般会提供服务,前端需要与后端进行通讯请求后台服务、接口返回的数据。
数据格式
- JSON
1 | JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) |
- XML
1 | XML 指可扩展标记语言 |
Ajax
1 | Asynchronous JavaScript and XML(异步的 JavaScript 和 XML) |
表单提交
Form 表单可以将前端的数据向服务器传递(前后端数据交互)
表单向服务器传输数据的时候,
如果服务器没有响应、服务器错,或者服务器响应慢,我们就会停留一个白屏界面
如果服务区成功响应,网页会被刷新,导致整个页面重绘,造成没有必要性能开销
表单提交只有两种传输方式
- GET
- POST
对于用户来讲,这种体验是非常糟糕的
发生了白屏、重绘、回流这种新功能消耗比较的高的操作,所以 XmlHttpRequest 局部刷新这项技术,很快就面世了。
XmlHttpRequest 对象
XmlHttpRequest 对象是浏览器用来请求服务器提供的接口,又由于浏览器有很多厂商,标准不同
- ActiveXObject 微软在 ie5 第一个提供了异步请求数据的方案,但是后来在 IE7+也同时支持 XmlHttpRequest
- XmlHttpRequest 其他包括 chrome firfox safari 支持 XmlHttpRequest
xmlHttpRequest 的应用
由于该对象比较基础,不太适合直接在项目当中使用,所以一些社区和框架对其进行了封装
最佳实践:
- Ajax (jquery 提供了一个叫做 ajax 的方法,是 XmlHttpRequest 的封装和实现)
- Axios(社区提供了一个叫做 axios 的包,支持 es6 的模块化 export、import,同时支持客户端、nodejs 服务器,请求拦截、响应等功能)
- 浏览器端,是 XmlHttpRequest 的封装和实现
- nodejs 服务端,是 http.request 的封装和实现
编码处理
由于系统不同、浏览器内核的差异,前后端进行数据交互时,有些特殊字符经过浏览器解析,最后到服务端结果可能不一致,这个时候我就需要使用编码,统一去规范这些差异问题。
编码:
- encodeURI
- encodeURIComponent
解码:
- decodeURI
- decodeURIComponent
编码实现:
1 | class Ajax { |
1 | class Axios extends Ajax { |
I'm so cute. Please give me money.
- Post link: https://blog.gaocaipeng.com/2020/06/19/fsrs2u/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.