「 NODE 」
April 20, 2019
Words count
17k
Reading time
15 mins.
1.性能高。
根据测试环境数据的不同,大约会比普通Ajax请求高2-10倍。 HTTP是文本协议,数据量比较大。
而WebSocket是基于二进制的协议,在建立连接时用的虽然是文本数据,但之后传输的都是二进制数据,因此性能比Ajax请求高。
2.双向通信。
如果是普通Ajax请求,需要实时获取数据,只能用计时器定时发送请求,这样会浪费服务器资源和流量。
而通过WebSocket,服务器可以主动向前端发送信息。
3.安全性高
由于WebSocket出现较晚,相比HTTP协议,在安全性上考虑的更加充...
Read article
「 NODE 」
April 20, 2019
Words count
1.3k
Reading time
1 mins.
Ajax请求无法跨域,在前端开发中是个常见问题,它的产生原因是,在浏览器接收服务端返回数据时,会检查该数据是否和当前发起请求的网址在同一域名下。若不是,则会丢弃该数据,并返回一个跨域错误。
在Ajax请求中,遵循如下流程:
网页提交一个Ajax请求到浏览器,浏览器将请求发至服务器,服务器接收到请求后,返回响应数据给浏览器(服务器通常不会对域名进行区分),浏览器接收到响应数据时,检测返回数据的域名是否和当前页面域名相同,若相同则将数据返回给网页,不同则丢弃数据。
既然跨域问题的产生原因在于浏览器...
Read article
「 NODE 」
April 04, 2019
Words count
8.4k
Reading time
8 mins.
处理文件上传数据,也是前后端交互中重要的功能,它的处理方式与数据不同。
接下来,通过一个例子查看服务端接收到的文件上传数据。
首先,在post_file.html中,新建一个用与上传文件的表单:
form的属性enctype="multipart/form-data"代表表单上传的是文件。
enctype的默认值为enctype="application/x-www-form-urlencoded"表示上传的是数据类型,此时服务端接收到的数据为“username...
Read article
「 NODE 」
April 01, 2019
Words count
12k
Reading time
11 mins.
assert(断言)通常用来对代码进行校验,若出错则阻止程序运行,并抛出一个错误。
用法
const assert = require('assert')
assert(2 > 1, '2 > 1')
assert(1 > 2, '1 > 2')
代码在运行到assert(2 > 1, ‘2 > 1’)时,由于2 > 1为true,此时不会抛出错误。
而运行到assert(1 > 2, ‘1 >...
Read article
「 VUE 」
March 29, 2019
Words count
7.6k
Reading time
7 mins.
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中, 也是vue官方推荐使用的http库;封装axios,一方面为了以后维护方便,另一方面也可以对请求进行自定义处理,不多BB,开搞
一般我们开发都会有开发、测试、生产环境,前缀需要加以区分,我们利用node环境变量来作判断
if(process.env.NODE_ENV === "development"){
axios.default.baseURL = "XXXX...
Read article