vue跨域解决方法


Posted in Javascript onOctober 15, 2017

vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No 'Access-Control-Allow-Origin' header is present on the requested resource.” 这种跨域错误。

vue跨域解决方法

要想本地正常的调试,解决的办法有三个:

一、后台更改header

header('Access-Control-Allow-Origin:*');//允许所有来源访问 
header('Access-Control-Allow-Method:POST,GET');//允许访问的方式  

 这样就可以跨域请求数据了。

二、使用JQuery提供的jsonp  (注:vue中引入jquery,自行百度)

methods: { 
 getData () { 
 var self = this 
 $.ajax({ 
  url: 'http://f.apiplus.cn/bj11x5.json', 
  type: 'GET', 
  dataType: 'JSONP', 
  success: function (res) { 
  self.data = res.data.slice(0, 3) 
  self.opencode = res.data[0].opencode.split(',') 
  } 
 }) 
 } 
}

通过这种方法也可以解决跨域的问题。

三、使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建)

例如请求的url:“http://f.apiplus.cn/bj11x5.json”

1、打开config/index.js,在proxyTable中添写如下代码:

proxyTable: { 
 '/api': { //使用"/api"来代替"http://f.apiplus.c" 
 target: 'http://f.apiplus.cn', //源地址 
 changeOrigin: true, //改变源 
 pathRewrite: { 
  '^/api': 'http://f.apiplus.cn' //路径重写 
  } 
 } 
}

2、使用axios请求数据时直接使用“/api”:

getData () { 
 axios.get('/api/bj11x5.json', function (res) { 
 console.log(res) 
 })

通过这中方法去解决跨域,打包部署时还按这种方法会出问题。解决方法如下:

let serverUrl = '/api/' //本地调试时 
// let serverUrl = 'http://f.apiplus.cn/' //打包部署上线时 
export default { 
 dataUrl: serverUrl + 'bj11x5.json' 
}

总结

以上所述是小编给大家介绍的vue跨域解决方法 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
Feb 07 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
javaScript复制功能调用实现方案
Dec 13 Javascript
Angularjs中UI Router全攻略
Jan 29 Javascript
理解javascript模块化
Mar 28 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
webpack打包js文件及部署的实现方法
Dec 18 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
Vue路由前后端设计总结
Aug 06 Javascript
js+cavans实现图片滑块验证
Sep 29 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 #Javascript
详解 vue.js用法和特性
Oct 15 #Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 #jQuery
JS简单实现数组去重的方法分析
Oct 14 #Javascript
jQuery响应滚动条事件功能示例
Oct 14 #jQuery
JS实现的简单表单验证功能完整实例
Oct 14 #Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 #jQuery
You might like
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
新闻分类录入、显示系统
2006/10/09 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
基于jquery的表格排序
2010/09/11 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
浅析vue数据绑定
2017/01/17 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
理解javascript async的用法
2017/08/22 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
市场部经理岗位职责
2014/04/10 职场文书
正科级干部考察材料
2014/05/29 职场文书
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题