在vue项目中,使用axios跨域处理


Posted in Javascript onMarch 07, 2018

跨域,一个很是让人尴尬的问题,有些人可以在后台中设置请求头,但是很多前端并不具备后台的知识,并无法自己独立的搭建一个服务器,所以就变成了一个尴尬的事情

当然,有很多的虚拟服务器,能够解决跨域问题,他们的实质都是通过后台取与后台沟通,从而委婉的解决跨域问题正好,webpack正有这种功能,所以vue-cli也是有解决跨域的能力

当然,不可能我们直接发送ajax就成功,对吧,我们肯定要修改配置文件

在vue项目中,使用axios跨域处理

代码:

dev: {
		env: require('./dev.env'),
		port: 8080,
		autoOpenBrowser: false,
		assetsSubDirectory: 'static',
		assetsPublicPath: '/',
		proxyTable: {
			'/gp': {
				target: 'http://we7.qw1000.cn/',
				changeOrigin: true,
				pathRewrite: {
					'^/gp': '/'
				}
			}
		}
	}

这是一个通用模板,主要涉及到几个概念:

dev,自然是虚拟服务器的意思,

autoOpenBrowser

也不是多重要的属性,只是配置能不能自动打开浏览器,关键点在于

proxyTable: { 
  '/gp': { 
  target: 'http://we7.qw1000.cn/', 
  changeOrigin: true, 
  pathRewrite: { 
   '^/gp': '/' 
  } 
  }

配置了我们的对象服务器,让我们的虚拟服务去访问那个网站,当然,这也是webpack的功能,所以也是只能在开发环境下使用

接下里就是我们的ajax代码了。以post为例:

在vue项目中,使用axios跨域处理

methods: {
			hello: function(e) {
				var str;
				console.log(e.target.files[0]);
				var _this = this;
				var that = new FormData();
				that.append("myfile", e.target.files[0]);
				this.$http.post('gp/app/index.php?i=2&c=entry&do=tool/image&m=qw_deal', that)
					.then(function(sures) { console.log(sures);
						console.log("上产成功") })
					.catch(function(catchres) { console.log(catchres);
						console.log("上传失败") })
			}
		},

this.$http是什么鬼???

这自然是我们在main.js中引入了axios的结果,只不过我们不能直接使用use方法,因为他并不是vue的插件,所以需要将其加载到原型链中

import axios from 'axios';
Vue.prototype.$http = axios;

这样我们就可以直接使用了,

在vue项目中,使用axios跨域处理

这是我朋友那边的链接,而且我选择的是一个上传的图像文件的链接

注意点:

1.webpack的跨域解决方法只是是适合在开发环境中使用,

2.设置inde.js内部的dev时,请注意,需要设置的应该是域名,过多会失效,所以应该是www。baidu。com

3.使用axios上传文件,不需要像ajax上传图片一样使用formdata

以上这篇在vue项目中,使用axios跨域处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js wmp操作代码小结(音乐连播功能)
Nov 08 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
jquery实现pager控件示例
Apr 09 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
正则 js分转元带千分符号详解
Mar 08 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
Oct 25 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 #Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 #Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 #Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 #Javascript
浅谈webpack打包之后的文件过大的解决方法
Mar 07 #Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 #Javascript
React Native使用fetch实现图片上传的示例代码
Mar 07 #Javascript
You might like
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
Python中字符串的修改及传参详解
2016/11/30 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
python构建基础的爬虫教学
2018/12/23 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Python操作Jira库常用方法解析
2020/04/10 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
实习协议书范本
2014/04/22 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
英语教学课后反思
2016/02/15 职场文书
nginx常用配置conf的示例代码详解
2022/03/21 Servers
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers