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对象弹出一个层
Mar 26 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
Oct 20 Javascript
jQuery之自动完成组件的深入解析
Jun 19 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
Mar 30 Javascript
jquery采用oop模式class类的使用示例
Jan 22 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
May 11 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
AngularJS动态加载模块和依赖的方法分析
Nov 08 Javascript
js模拟百度模糊搜索的实例
Aug 04 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
jquery插件开发模式实例详解
Jul 20 jQuery
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
详解python调用cmd命令三种方法
2019/07/08 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
经管应届生求职信
2013/11/17 职场文书
作风整顿剖析材料
2014/09/30 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
毕业生自荐信范文
2015/03/05 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书