vue跨域问题的三种解决方案_前端解决ajax跨域问题的方式

vue跨域问题的三种解决方案_前端解决ajax跨域问题的方式axios跨越问题解决的三种方法

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

Jetbrains全系列IDE稳定放心使用

axios:读音「艾科C藕丝」

方法一:SpringBoot后端进行处理

在 每个 Controller 类上加入 @CrossOrigin 注解
或者在 Controller的基类中加上 @CrossOrigin 注解然后其他 Controller 类就有了这个 @Controller 此时跨域访问就不会报错了。

浏览器 在同一个页面访问不同的域 是存在跨域问题的
但 服务器之间的访问是 没有跨域问题 因为服务器之间的请求不走XHR(XMLHttpRequest)

方法二: 需要在前端设置代理, 通过代理访问 SpringBoot后端API

1.在 src / utils / request.js 中配置
baseUrl: ‘http://127.0.0.1:8020/myhd’
2.在 vue.config.js 中配置Proxy

'': {
 	 target:  'http://127.0.0.1:8020/myhd'
	},
'/apiout': { // 外网
  target: 'https://myhd-outer-ui.cloud.castc.cn',
  changOrigin: true, // 允许跨域
  pathRewrite: {
    '^/apiout': ''
  }
},

配置代理方式只能解决npm run dev开发时的跨域问题,运行npm run build将项目打包到dist目录后只能通过nginx代理来解决跨域问题

方法三: 使用jsonp解决跨域(只能解决get方式跨域问题,不推荐)

方法:在ajax请求中加入配置项 dataType : 'jsonp',
原理仅作了解:请求的网址自动变成http://www.tpadmin.com/proj/method?callback=jQuery331015214102388989237
这是为什么呢?原来由于跨域访问的只限制xhr类型的请求,所以js中就利用了这一特点,让服务端不在返回的是一个JSON格式的数据,而是返回一段JS代码,将JSON的数据以参数的形式传递到这个函数中,
而函数的名称就是callback参数的值,所以我们还需要修改服务端的代码,修改参数解析方法。

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

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

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


相关推荐

  • 怎样利用爬虫爬网站数据(爬虫可以爬取哪些数据)

    回顾2016年,我用爬虫做了很多事情。1、微信好友的爬虫,了解一下你的好友全国分布,男女比例,听起来似乎是一个不错的想法,当然你还可以识别一下你的好友有多少人是用自己照片作为头像的,详细的内容可以点击这里:Python对微信好友进行简单统计分析2、拉勾网的数据那么多的招聘信息有用吗?当然有用,你想了解一下你所在城市的各种主流语言(Java、PHP、JavaScript、Pytho…

    2022年4月16日
    580
  • android 自定义控件 使用declare-styleable进行配置属性(源码角度)「建议收藏」

    android 自定义控件 使用declare-styleable进行配置属性(源码角度)「建议收藏」最近在模仿今日头条,发现它的很多属性都是通过自定义控件并设定相关的配置属性进行配置,于是便查询了解了下declare-styleable,下面我把自己的使用感受和如何使用进行说明下。declare-styleable:declare-styleable是给自定义控件添加自定义属性用的。官方的相关内部控件的配置属性文档:http://developer.android.com/refer

    2022年7月13日
    20
  • java报表插件_自定义报表 开源

    java报表插件_自定义报表 开源是一个基于Java的开源报表工具,它可以在Java环境下像其他IDE报表工具一样来制作报表,支持PDF、HTML、XLS、CSV和XML文件输出格式,是当前Java开发者最常用的报表工具。一个Eclipse-based开放源代码报表系统。它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同…

    2022年10月20日
    4
  • centos 安装 python3_centos运行python脚本

    centos 安装 python3_centos运行python脚本注意:以下教程是让centOS7里面的Python2和Python3共存,并不是替换Python2。一、检查系统是否有gccgcc–version ——查询是否安装gcc-v——查询版本如果没有显示就执行下面yum安装gcc #查看gcc安装包yumsearchgcc#安装gccyum -yinstallgcc 安装下面依赖库(65个,…

    2022年9月16日
    2
  • 视频一键识别生成字幕

    视频一键识别生成字幕前不久我介绍了通过视频生成字幕的技术原理(博客、B站),我现在把这个功能打包成一个易于操作的界面,如下图所属:操作非常的简单,打开程序后,点击上面【打开要识别的视频按钮】,就会弹出下图的打开文件对话框,选择需要生成字幕的视频:稍等片刻,待程序识别并生成完成后就弹出如下保存对话框,填写要保存的字幕文件名就可以了:最后生成类似如下的文件就可以在你的视频编辑软件中进行合并了。软件下载…

    2022年6月8日
    22
  • 软件开发与软件研发的区别「建议收藏」

    软件开发与软件研发的区别「建议收藏」按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱,到后来修改的时候每次都要考虑好久才能下笔,所以决定拆成两部分来发,以便阅读。这篇写得我心力交瘁,质量不算好,凑合着看吧。同样是写程序,不同的岗位工作内容不一样,对程序质量以及工程师的要求也不一样。程序开发大概可以划分成两类…

    2022年7月16日
    26

发表回复

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

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