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+json实现数据列表分页示例代码
Nov 15 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
jQuery的基本概念与高级编程
May 14 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
JavaScript获取服务器时间的方法详解
Dec 11 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
vue如何进行动画的封装
Sep 26 Javascript
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
小程序实现层叠卡片滑动效果
Aug 26 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 Javascript
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
PHP4中session登录页面的应用
2008/07/25 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
javascript天然的迭代器
2010/10/29 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
用python实现面向对像的ASP程序实例
2014/11/10 Python
基于python实现微信模板消息
2015/12/21 Python
快速了解Python中的装饰器
2018/01/11 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
python开发入门——set的使用
2020/09/03 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
冰淇淋店的创业计划书
2014/02/07 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书