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获取url参数及url加参数的方法
Oct 26 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
Jan 10 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
原生JS实现导航下拉菜单效果
Nov 25 Javascript
微信小程序的日期选择器的实例详解
Sep 29 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 Javascript
angular4+百分比进度显示插件用法示例
May 05 Javascript
Element Carousel 走马灯的具体实现
Jul 26 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截取中文字符串的问题
2006/07/12 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
js中document.write和document.writeln的区别
2018/03/11 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
Django 自动生成api接口文档教程
2019/11/19 Python
什么时候用assert
2015/05/08 面试题
硕士研究生求职自荐信范文
2014/03/11 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
2014年督导工作总结
2014/11/19 职场文书
业务员辞职信范文
2015/03/02 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers