zoukankan      html  css  js  c++  java
  • vue解决跨域问题的方式

    一、技术概述

    现在项目都是前后端分离开发,在发送请求时有可能会出现跨域问题.跨域问题的产生原因很多,可能是域名不同,或者是域名相同但是接口不同等.最好的解决方法就是后端更改header,但是有的时候这样的方法还是会出现跨域问题,这时候就可以通过vue-cli中的配置来解决跨域问题.

    二、技术详述

    使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建)

    打开config/index.js,在proxyTable中添写如下代码:

          '/api': {
            target:'http://129.204.247.165/',
            changeOrigin:true,
            pathRewrite:{
              '^/api': ''
            }
          }
        },
    

    main.js里面加入:

    import axios from 'axios'
    Vue.prototype.$axios = axios
    

    使用axios:

           method: 'post',
           url: '/api/posts/gethotbystatus',
           data:qs.stringify({
             day:20,
             status:0
           }),
           headers: {
             'Content-Type': 'application/x-www-form-urlencoded'
           },
         }).then(function (res) {}
    

    三、遇到的问题和解决过程。

    主要问题就是不用vue-cli脚手架只单单导入vue.js包不能解决跨域.所以解决的过程就是安装vue-cli脚手架

    四、总结

    以后如果后端修改了header还不能解决跨域问题,用vue来解决就是一个很好的方法

    五、参考文献

    Vue中跨域问题解决

  • 相关阅读:
    SQLyog连接MySQL8.0报2058错误的完美解决方法
    WPF之Binding深入探讨未参考
    C# SQLite 创建数据库的方法增删查改语法和命令
    winform实现INotifyPropertyChanged
    排序算法
    GitHub代码上传
    SQLyog
    Jenkins 部署 .NET MVC 项目
    Visual Studio 2019 代码规范
    C# SqlHelper类
  • 原文地址:https://www.cnblogs.com/hrc990816/p/13193241.html
Copyright © 2011-2022 走看看