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 通用三级联动下拉列表
Apr 19 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
Oct 11 Javascript
谈谈JavaScript中的几种借用方法
Aug 09 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
借助云开发实现小程序短信验证码的发送
Jan 06 Javascript
解决Antd Table组件表头不对齐的问题
Oct 27 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 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
人族 TERRAN 概述
2020/03/14 星际争霸
学习php设计模式 php实现状态模式
2015/12/07 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
Vue header组件开发详解
2018/01/26 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
Python中的异常处理简明介绍
2015/04/13 Python
深入讲解Python编程中的字符串
2015/10/14 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
python适合做数据挖掘吗
2020/06/16 Python
python如何实现DES加密
2020/09/21 Python
python 基于wx实现音乐播放
2020/11/24 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
黑白记忆观后感
2015/06/18 职场文书
教育教学读书笔记
2015/07/02 职场文书
庆元旦主持词
2015/07/06 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript