Axios及跨域请求

652 阅读1分钟

Axios是什么?

Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求。

Axios特性

1、可以在浏览器中发送 XMLHttpRequests

2、可以在 node.js 发送 http 请求

3、支持 Promise API

4、拦截请求和响应

5、转换请求数据和响应数据

6、能够取消请求

7、自动转换 JSON 数据

8、客户端支持保护安全免受 XSRF 攻击

Axios如何使用封装

  1. 安装axios

    npm install axios --save

  2. 在src目录下创建util文件夹,util内创建request.js文件

  3. 引入axios,创建axios实例,进行请求配置

  4. 在组件中引入使用

什么是跨域

跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。

跨域产生的原因

不同的端口、域名、协议名

跨域的解决方案目前有三种主流解决方案:

jsonp、代理、CORS

这里我们用的是代理: 在vue.config.js文件中进行如下配置

devServer: {
    port: 8002,
    host: "localhost",
    https: false,
    open: false,
    proxy:{
      "/dev-api":{
        target:"想要访问的地址",
        changOrigin:true,
        pathRewrite:{
          "^/dev-api" : ''
        }
      }
    }
  },