vue+Java后端进行调试时解决跨域问题的方式


Posted in Javascript onOctober 19, 2017

      今天在开发过程中遇到一个问题,拿到了一套vue代码,计划对这套代码的部分样式进行调整,Java后端代码已经写好并且部署到了线上。这时命令行运行vue项目时访问会受限,取不下数据来,遇到了跨域访问失败的问题,这时可以怎么做呢?

首先,要了解什么叫跨域访问?

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

所谓同源是指,域名,协议,端口均相同,举个例子:

http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

知道了跨域的概念之后我们如何解决他呢?

我这里的情况是这样的,后端在服务器上,但是vue在本地运行,网上有很多的跨域代理工具,但是都比较麻烦。因为vue-cli 脚手架工具已经帮我们做了处理,只需要稍微配置一下,就可以轻松解决跨域问题。

我们打开 config/index.js 文件,找到以下代码:

vue+Java后端进行调试时解决跨域问题的方式

在proxyTable: {}配置代理,配置信息如下:

proxyTable: { 
 '/project_dzff/': { 
 target: 'http://120.92.45.71/', //域名 
 secure: false, 
 changeOrigin: false, 
 } 
 },

代理配置之后,再去修改项目的调用接口地址的信息,让他调用我们配置好的东西。

serverRoot: env === 'development' ? '/project_dzff' : 
env === 'production' ? '/project_dzff' : 
'https://debug.url.com'

这里由原先访问http://120.92.45.71/调整为访问project_deff,即我们自己定义的名字了。

这时我们运行vue项目,如图:

vue+Java后端进行调试时解决跨域问题的方式

这时基本上访问已经成功代理到本地了,这时就可以使用本地的vue项目访问服务器端的数据了!

总结

Javascript 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
jQuery获取元素父节点的方法
Jun 21 Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 Javascript
laravel5.4+vue+element简单搭建的示例代码
Aug 29 Javascript
javascript 判断用户有没有操作页面
Oct 17 Javascript
React 实现拖拽功能的示例代码
Jan 06 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
Vue根据条件添加click事件的方式
Nov 09 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
AngularJS的$location使用方法详解
Oct 19 #Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 #Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
Oct 19 #Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 #jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 #jQuery
浅谈Node Inspector 代理实现
Oct 19 #Javascript
AngularJS表单验证功能
Oct 19 #Javascript
You might like
PHP中new static() 和 new self() 的区别介绍
2015/01/09 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
JS中==、===你分清楚了吗
2020/03/04 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
Python操作Excel的学习笔记
2021/02/18 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
公司业务主管岗位职责
2013/12/07 职场文书
新学期决心书
2014/03/11 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
关于环保的建议书
2014/05/12 职场文书
加强党性修养心得体会
2016/01/21 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
把77A收信机改造成收音机
2022/04/05 无线电