vue解决跨域问题的方式

Posted hrc990816

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中跨域问题解决

以上是关于vue解决跨域问题的方式的主要内容,如果未能解决你的问题,请参考以下文章

解决Vue前后端跨域问题的多种方式

vue的跨域方式

vue项目跨域问题

vue 如何实现跨域

Vue基础系列(二十五)——axios解决ajax请求跨域的问题——方式二

如何解决前端跨域问题?