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 相关文章推荐
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
Mar 11 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
Apr 17 Javascript
JS实现的RGB网页颜色在线取色器完整实例
Dec 21 Javascript
微信小程序中时间戳和日期的相互转换问题
Jul 09 Javascript
layui radio单选限制下一个radio单选的实例
Sep 03 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 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 strip_tags保留多个HTML标签的方法
2016/05/22 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
js下利用控制器载入对应脚本
2010/07/17 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
js实现左右轮播图
2020/01/09 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python继承和抽象类的实现方法
2015/01/14 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
浅谈python可视化包Bokeh
2018/02/07 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
浅述python中深浅拷贝原理
2018/09/18 Python
python3实现多线程聊天室
2018/12/12 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python环境下安装opencv库的方法
2020/03/05 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
学校食堂采购员岗位职责
2013/12/05 职场文书
公证委托书模板
2014/04/03 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
羊脂球读书笔记
2015/06/30 职场文书
迎新生晚会主持词
2015/06/30 职场文书
美容院员工规章制度
2015/08/05 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
手把手教你导入Go语言第三方库
2021/08/04 Golang