同源策略和跨域
1.同源策略:当发起一个http请求的时候,我们当前的网址和被请求的网址的->协议、域名、端口必须一致,如果有一个不同就生产了非同源策略,也就是跨域了 2. 同源策略的目的是为了保护站点资源的安全性 3. 同源策略只有浏览器有,其他的软件,系统没有的
如果产生了非同源策略[跨域],如何解决?
- jsonp
- 原理:创建一个script标签,使用src属性请求,因为这个标签不受浏览器同源策略限制,所以可以跨域请求
- 其他的
- img
- link
- iframe
- 借助后端语言完成请求代理
- java
- php
- node js
- vue项目中使用vue.config.js里面配置跨域
- vue.config.js 是vue脚手架的配置文件
- vue@cli 创建vue项目
- vue脚手架底层是基于webpack封装的
- webpack不是给浏览器用的,必须使用node js来执行
- node js是把浏览器是内核抽离了出来,安装到了电脑的全局环境中,让任何都可以允许js文件.node.js是后端语言
- 代理请求的过程:vue.config.js=>webpack=>node.js[后端程序代理请求]
- cors跨域
- 后端做了请求的白名单处理
- 只要前端的浏览器支持cors跨域就可以
封装自己的axios
axios
- 目前是最火的前端请求库-工具,它是基于ajax和promise封装的,它强大的地方在于可以允许浏览器端,也可以运行在node
- 安装使用和封装 -安装:npm i axios
axios上传文件
节流和防抖
- 目的:性能优化
- 实现:闭包
节流
固定的时间内必须执行一次
一个程序事件在持续的触发中,我们使用截流保证在固定的时间段内执行一次
防抖
永远保持执行最后一次
事件如果持续触发,防抖就一直等待,等到事件触发完毕后,才会执行最后一次