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 相关文章推荐
jQuery 1.2.x 升? 1.3.x 注意事项
May 06 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
Nov 03 Javascript
Move.js入门
Feb 08 Javascript
React服务端渲染(总结)
Jul 01 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
May 03 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
微信小程序换肤功能实现代码(思路详解)
Aug 25 Javascript
原生js实现无缝轮播图效果
Jan 28 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
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
php微信公众平台开发类实例
2015/04/01 PHP
php关联数组快速排序的方法
2015/04/17 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
jquery实现显示已选用户
2014/07/21 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
Python深入学习之特殊方法与多范式
2014/08/31 Python
Python ldap实现登录实例代码
2016/09/30 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
Python中常用的内置方法
2019/01/28 Python
详解Python循环作用域与闭包
2019/03/21 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python 如何查找特定类型文件
2020/08/17 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
法定授权委托证明书
2015/06/18 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python
MySQL数据库表约束讲解
2022/06/21 MySQL