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判断机器是否联网的2种方法
Aug 09 Javascript
AngularJs中route的使用方法和配置
Feb 04 Javascript
简单谈谈javascript中this的隐式绑定
Feb 22 Javascript
微信小程序 富文本转文本实例详解
Oct 24 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
Angular.js之作用域scope'@','=','&'实例详解
Feb 28 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
代码详解JS操作剪贴板
Feb 11 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
Jun 01 Javascript
js验证身份证号码记录的方法
Apr 26 Javascript
vue3获取当前路由地址
Feb 18 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
定义select的边框颜色
2008/04/28 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
为python设置socket代理的方法
2015/01/14 Python
Python正则表达式完全指南
2017/05/25 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
python购物车程序简单代码
2018/04/18 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
Linux的主要特性
2014/10/06 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
电台编导求职信
2014/05/06 职场文书
2015年工会工作总结
2015/03/30 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书