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