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 相关文章推荐
简单的js分页脚本
May 21 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
Jan 24 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
js验证框架之RealyEasy验证详解
Jun 08 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
Vue.js学习之过滤器详解
Jan 22 Javascript
vue2.0多条件搜索组件使用详解
Mar 26 Javascript
Angular 作用域scope的具体使用
Dec 11 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
使用Angular CLI生成路由的方法
Mar 24 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计划任务、定时执行任务的实现代码
2011/04/23 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
PDO实现学生管理系统
2020/03/21 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
python操作redis的方法
2015/07/07 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python3 操作符重载方法示例
2017/11/23 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
django 微信网页授权登陆的实现
2019/07/30 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
python 操作hive pyhs2方式
2019/12/21 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
物业经理求职自我评价
2013/09/22 职场文书
《阳光》教学反思
2014/02/23 职场文书
先进个人评语大全
2015/01/04 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python