axios、防抖节流、同源策略

144 阅读2分钟

同源策略和跨域

1.同源策略:当发起一个http请求的时候,我们当前的网址和被请求的网址的->协议、域名、端口必须一致,如果有一个不同就生产了非同源策略,也就是跨域了 2. 同源策略的目的是为了保护站点资源的安全性 3. 同源策略只有浏览器有,其他的软件,系统没有的

如果产生了非同源策略[跨域],如何解决?

  1. jsonp
    • 原理:创建一个script标签,使用src属性请求,因为这个标签不受浏览器同源策略限制,所以可以跨域请求
    • 其他的
      1. img
      2. link
      3. iframe
  2. 借助后端语言完成请求代理
    • java
    • php
    • node js
  3. 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[后端程序代理请求]
  4. cors跨域
    • 后端做了请求的白名单处理
    • 只要前端的浏览器支持cors跨域就可以

封装自己的axios

axios

  • 目前是最火的前端请求库-工具,它是基于ajax和promise封装的,它强大的地方在于可以允许浏览器端,也可以运行在node
  • 安装使用和封装 -安装:npm i axios

axios上传文件

节流和防抖

  • 目的:性能优化
  • 实现:闭包

节流

固定的时间内必须执行一次

一个程序事件在持续的触发中,我们使用截流保证在固定的时间段内执行一次

防抖

永远保持执行最后一次

事件如果持续触发,防抖就一直等待,等到事件触发完毕后,才会执行最后一次