• 每天一点点之vue框架开发


    1.安装

    npm install axios


    或者 使用 bower:

    bower install axios


    或者直接使用 cdn:

    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

    2.引入axios

    import axios from 'axios'

    这时候如果在其它的组件中,是无法使用 axios 命令的。但如果将 axios 改写为 Vue 的原型属性,就能解决这个问题

    Vue.prototype.axios = axios

    通过 this.axios({})来访问

    3.基本使用

    axios({
          url:'http://localhost/api/aaa',
          method:'POST',
          headers:{
            Authorization:'Bearer eyJ0eXAiABUg-Fxs...',
            Accept:'application/json'
          }
        }).then(res=>{
          console.log(res,'res')
        }).catch(res1=>{
          console.log(res1,'res1')
        })

    然后报CORS错误

    Access to XMLHttpRequest at 'http://backend.com/api/aaa' from origin 'http://localhost:8085' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

    根据提示可以看出是跨越了

    跨越的三个条件:协议、域名、端口号

    这个请求明显端口号不一致,找到问题了,那就好说了

    4.axios配置 proxyTable

    在config/index.js中的proxyTable中添加以下内容:

    "/api": {
            target: "http://backend.com/api",
            changeOrigin: true,
            pathRewrite: {
                  '^/api': ''
            }
    }

    保存,重新运行 npm run dev

    5.更改url,重新请求

    axios({
          url:'/api/aaa',
          method:'POST',
          headers:{
            Authorization:'Bearer 5llcq3GiwABUg-Fxs...',
            Accept:'application/json'
          }
        }).then(res=>{
          console.log(res,'res')
        }).catch(res1=>{
          console.log(res1,'res1')
        })

     请求结果如下,跨越解决了

  • 相关阅读:
    洛谷——P1141 01迷宫
    洛谷——P1781 宇宙总统
    洛谷——P1608 路径统计
    洛谷——P1144 最短路计数
    洛谷—— P1162 填涂颜色
    python(22)- 递归和函数式编程
    android驱动例子(LED灯控制)
    Android之SDK、NDK、JNI和so文件
    NDK 与 JNI 的关系
    Android之NDK开发
  • 原文地址:https://www.cnblogs.com/cap-rq/p/10149789.html
Copyright © 2020-2023  润新知