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 相关文章推荐
juqery 学习之三 选择器 简单 内容
Nov 25 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
May 17 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
js网页右下角提示框实例
Oct 14 Javascript
用原生js做个简单的滑动效果的回到顶部
Oct 15 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
Mar 30 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
Sep 30 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 Javascript
vue中的计算属性和侦听属性
Nov 06 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
Jquery动态添加输入框的方法
2015/05/29 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
koa-router源码学习小结
2018/09/07 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
django使用html模板减少代码代码解析
2017/12/12 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
庆七一活动方案
2014/01/25 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
刑事和解协议书范本
2014/11/19 职场文书
关于学习的决心书
2015/02/05 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
小学生读书笔记
2015/07/01 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript