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中跨域问题解决

  • 相关阅读:
    fn project 试用之后的几个问题的解答
    fn project 扩展
    fn project 生产环境使用
    fn project 对象模型
    fn project AWS Lambda 格式 functions
    fn project 打包Function
    fn project Function files 说明
    fn project hot functions 说明
    fn project k8s 集成
    fn project 私有镜像发布
  • 原文地址:https://www.cnblogs.com/hrc990816/p/13193241.html
Copyright © 2011-2022 走看看