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 相关文章推荐
javascript Event对象详解及使用示例
Nov 22 Javascript
js中继承的几种用法总结(apply,call,prototype)
Dec 26 Javascript
jquery1.9 下检测浏览器类型和版本的方法
Dec 26 Javascript
document.addEventListener使用介绍
Mar 07 Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 Javascript
Javascript的&&和||的另类用法
Jul 23 Javascript
详解ES6中的let命令
Apr 05 Javascript
js实现仿购物车加减效果
Mar 01 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
微信小程序开发之转发分享功能
Oct 22 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 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
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
Laravel5中contracts详解
2015/03/02 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python异常处理总结
2014/08/15 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
口头翻译求职人自荐信
2013/12/07 职场文书
集体备课反思
2014/02/12 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
投资意向书
2014/07/30 职场文书
公司演讲稿开场白
2014/08/25 职场文书
2015年清明节活动总结
2015/02/09 职场文书
Python基础之元类详解
2021/04/29 Python