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网络游戏-(模拟城市webgame)提供的一些例子下载
Oct 14 Javascript
JavaScript 关键字屏蔽实现函数
Aug 02 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
Aug 14 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
Mar 20 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
vue favicon设置以及动态修改favicon的方法
Dec 21 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
three.js 如何制作魔方
Jul 31 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新手谈谈我的学习心得
2007/02/25 PHP
php5数字型字符串加解密代码
2008/04/24 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
PHP教程 变量定义
2009/10/23 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
javascript object array方法使用详解
2012/12/03 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
详解redux异步操作实践
2018/08/15 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
深入理解Javascript中的this关键字
2015/03/27 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
Python类中self参数用法详解
2020/02/13 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
自荐书范文
2013/12/08 职场文书
对教师的评语
2014/04/28 职场文书
物理教育专业求职信
2014/06/25 职场文书
班级心理活动总结
2014/07/04 职场文书
资料员岗位职责范本
2015/04/13 职场文书
改进工作作风心得体会
2016/01/23 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python