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之typeof、instanceof操作符使用探讨
May 19 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Apr 01 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
Aug 30 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
js中call()和apply()改变指针问题的讲解
Jan 17 Javascript
react中Suspense的使用详解
Sep 01 Javascript
Nuxt页面级缓存的实现
Mar 09 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
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
python距离测量的方法
2018/03/06 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
大学生交通专业求职信
2014/09/01 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
公司庆典主持词
2015/07/04 职场文书
合作意向书怎么写
2019/06/24 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
python自动化测试之Selenium详解
2022/03/13 Python
MySQL创建管理子分区
2022/04/13 MySQL