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 相关文章推荐
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
jquery固定底网站底部菜单效果
Aug 13 Javascript
Javascript与jQuery方法的隐藏与显示
Jan 19 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 Javascript
javascript实现checkbox全选的代码
Apr 30 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 Javascript
详解vue + vuex + directives实现权限按钮的思路
Oct 24 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
Mar 05 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
解决pycharm双击但是无法打开的情况
Oct 31 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
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
Yii框架安装简明教程
2020/05/15 PHP
javascript 单选框,多选框美化代码
2008/08/01 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
深入浅析javascript立即执行函数
2015/10/23 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
德国网上宠物店:Zoobio
2018/05/23 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
文秘自荐信
2013/10/20 职场文书
采购主管工作职责
2013/12/12 职场文书
教育学习自我评价
2014/02/03 职场文书
小学清明节活动方案
2014/03/08 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
DSP接收机前端设想
2022/04/05 无线电