axios实现跨域三种方法_跨域的解决方案

axios实现跨域三种方法_跨域的解决方案Axios是不允许跨域访问的,别说跨域,跨端口都不行。例如某项目我本地vue前端frontEnd为`localhost:8888`,Java后台backEnd为`localhost:8889`。这个时候就有两个方案了:-修改`frontEnd`前端,支持跨域(通过代理的形式,当然这种是`伪跨域`,但是挺有用,前提是后端不限制即可)。-修改`backEnd`后台,支持跨域(同时限制可跨域名,不在本文讨论范围,且看过往处理方式)。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题背景

Axios是不允许跨域访问的,别说跨域,跨端口都不行。例如某项目我本地vue前端frontEnd为localhost:8889,Java后台 backEnd为localhost:8888

报错信息: Access to XMLHttpRequest at 'http://localhost:8888/cert/certCompany/list2' from origin 'http://localhost:8889' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
在这里插入图片描述
axios请求代码

axios.post('http://localhost:8888/cert/certCompany/list2',JSON.stringify(this.searchParam))
	  .then(function (response) { 
   
	    console.log(response.data);
	  })
	  .catch(function (error) { 
   
	    console.log(error);
	  });

这个时候就有两个方案了:

解决方案

main.js

引入axios

//引入axios by zhengkai.blog.csdn.net
import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = '/api'  //自动附加在所有axios请求前面,则可以省略/api,直接写'/xxxx/xxx'。否则需要设置'/api/xxxx/xxx'
config.index.js

改造proxyTable部分,引入虚拟代理 ,请求target这个地址的时候直接写成/api即可。

dev: { 
   
    env: require('./dev.env'),
    port: 8889,
    autoOpenBrowser: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: { 
   
       //axios跨域改造 by zhengkai.blog.csdn.net
      '/api': { 
   
        target:'http://localhost:8888/cert/', // 你请求的第三方接口
        changeOrigin:true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        pathRewrite:{ 
     // 路径重写,
          '^/api': ''  // 替换target中的请求地址,也就是说/api=/target,请求target这个地址的时候直接写成/api即可。
        }
      }
    },
    // CSS Sourcemaps off by default because relative paths are "buggy"
    // with this option, according to the CSS-Loader README
    // (https://github.com/webpack/css-loader#sourcemaps)
    // In our experience, they generally work as expected,
    // just be aware of this issue when enabling this option.
    cssSourceMap: false
  }
业务.vue

修改请求为/api封装开头(但是如果你的借口包含/api的关键字的话,建议使用其他关键字)

//axios跨域请求改造 by zhengkai.blog.csdn.net
axios.post('/certCompany/list2',JSON.stringify(this.searchParam))
      .then(function (response) { 
   
        console.log(response);
      })
      .catch(function (error) { 
   
        console.log(error);
      });

验证效果

请求不报错,没有烦人的No 'Access-Control-Allow-Origin' header is present on the requested resource.报错。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194644.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转运公司比较_横向对比是什么意思

    转运公司比较_横向对比是什么意思http://post.smzdm.com/p/49324/小编注:日本JChere株式会社是一家大型的网络媒体公司,在国内也设有分支机构,业务众多。JChere转运是其下属业务之一,文中作者会进行一些简单介绍。开篇序:由于撸主最近收了几个吐血包裹,心情激荡之下决定来分享一下日淘转运的经验,主要是五家转运各自的特色和优势、横向对比、增值服务如何选择之类的问题。日淘的转运公司

    2022年10月4日
    0
  • shell中的exit 0和exit 1「建议收藏」

    shell中的exit 0和exit 1「建议收藏」exit0:正常运行程序并退出程序;exit1:非正常运行导致退出程序;exit0可以告知你的程序的使用者:你的程序是正常结束的。如果exit非0值,那么你的程序的使用者通常会认为

    2022年7月2日
    64
  • 【Unity3D插件】AVPro Video插件分享《视频播放插件》

    参考资料http://www.onlinedown.net/soft/987730.htmhttps://blog.csdn.net/yiwei151/article/details/78415771https://blog.csdn.net/dark00800/article/details/56015917简介AvproVideo是一款由RenderHeads出品的可以在…

    2022年4月17日
    75
  • 机器学习框架及评估指标详解

    机器学习框架及评估指标详解目录机器学习的步骤train_test_split函数的详解机器学习评估指标分类模型评估指标混淆矩阵ROC曲线利用ROC的其他评估标准Python绘制ROC曲线求解AUC模板代码错误率精度查准率、查全率P-R曲线Python绘制P-R曲线模板代码平衡点(BEP)F1度量Python求解F1_score代码回归模型评估指标均方误差MAE(平均绝对误差)MAPE(平均绝对百分比误差)RMSE(均方根误差)RSquare(

    2022年6月16日
    26
  • jQuery.extend 函数详解

    jQuery.extend 函数详解

    2021年8月27日
    40
  • python可视化图表(python 显示图片)

    目录一、fig,ax=plt.subplots()的作用?二、参数的含义?三、怎么在一个图上排列多个子图?四、怎么把多个子图一起合并到一个图上?《PythonforDataAnalysis》2ndEdition一、fig,ax=plt.subplots()的作用?它是用来创建总画布/figure“窗口”的,有figure就可以在上边(或其中一个子…

    2022年4月17日
    237

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号