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 hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
超漂亮的jQuery图片轮播特效
Nov 24 Javascript
JavaScript SHA512加密算法详细代码
Oct 06 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
详解JavaScript调用栈、尾递归和手动优化
Jun 03 Javascript
详解a标签添加onclick事件的几种方式
Mar 29 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 Javascript
d3.js实现图形缩放平移
Dec 19 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
Apr 24 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
JavaScript执行机制详细介绍
Dec 06 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利用cookie实现访问次数统计代码
2011/05/19 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JS如何在数组指定位置插入元素
2020/03/10 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
Python内置数据类型详解
2014/08/18 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
详解Python 循环嵌套
2020/07/09 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
自我评价范文
2013/12/22 职场文书
市场营销计划书范文
2015/01/16 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
离婚财产分割协议书
2015/08/11 职场文书