• 每天一点点之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')
        })

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

  • 相关阅读:
    C#中添加文本框的上标及文字大小
    综采工作面设备接替计划管理系统
    一位年轻女董事长的27条忠告
    开发人员一定要加入收藏夹的网站
    哈佛图书馆墙上的名训
    加密、解密.NET字符串
    C#文件上传下载
    DotNetNuke3.0.8 简体中文语言包(可直接导入版)发布
    DNN的Core Team
    DotNetNuke3.0.8文件管理器的错误及解决方法
  • 原文地址:https://www.cnblogs.com/cap-rq/p/10149789.html
Copyright © 2020-2023  润新知