在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 相关文章推荐
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
js 与或运算符 || && 妙用
Dec 09 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
html的DOM中Event对象onblur事件用法实例
Jan 21 Javascript
jQuery选择器源码解读(三):tokenize方法
Mar 31 Javascript
轮播的简单实现方法
Jul 28 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
Sep 26 Javascript
JavaScript监听触摸事件代码实例
Dec 30 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
May 09 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 Javascript
Vue实现Header渐隐渐现效果的实例代码
Nov 05 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源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Django框架表单操作实例分析
2019/11/04 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
How to spawning asynchronous work in J2EE
2016/08/29 面试题
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
玩具公司的创业计划书
2013/12/31 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
授权委托书范本
2014/04/03 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
Go语言读取txt文档的操作方法
2022/01/22 Golang
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript