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 相关文章推荐
javascript网页关闭时提醒效果脚本
Oct 22 Javascript
jquery高效反选具体实现
May 05 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
jQuery选择器基础入门教程
May 10 Javascript
JS实现拖拽的方法分析
Dec 20 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
Jul 26 Javascript
vue实现跨域的方法分析
May 21 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
原生小程序封装跑马灯效果
Oct 21 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
如何开发一个虚拟域名系统
2006/10/09 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
js实现碰撞检测
2021/01/29 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
专业技术职务聘任书
2014/03/29 职场文书
统计专业自荐书
2014/07/06 职场文书
简易离婚协议书范本
2014/10/24 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
反邪教观后感
2015/06/11 职场文书
python实现的web监控系统
2021/04/27 Python
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA