全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

VUE 更好的 ajax 上传处理 axios.js实现代码

vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法。

首先就是引入axios,如果你使用es6,只需要安装axios模块之后

import axios from 'axios';
//安装方法
npm install axios
//或
bower install axios

当然也可以用script引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

axios提供了一下几种请求方式

axios.request(config)

axios.get(url[, config])

axios.delete(url[, config])

axios.head(url[, config])

axios.post(url[, data[, config]])

axios.put(url[, data[, config]])

axios.patch(url[, data[, config]])

这里的config是对一些基本信息的配置,比如请求头,baseURL,当然这里提供了一些比较方便配置项

//config
import Qs from 'qs'
{
 //请求的接口,在请求的时候,如axios.get(url,config);这里的url会覆盖掉config中的url
 url: '/user',

 // 请求方法同上
 method: 'get', // default
 // 基础url前缀
 baseURL: 'https://some-domain.com/api/',
  
    
 transformRequest: [function (data) {
  // 这里可以在发送请求之前对请求数据做处理,比如form-data格式化等,这里可以使用开头引入的Qs(这个模块在安装axios的时候就已经安装了,不需要另外安装)
  data = Qs.stringify({});
  return data;
 }],

 transformResponse: [function (data) {
  // 这里提前处理返回的数据

  return data;
 }],

 // 请求头信息
 headers: {'X-Requested-With': 'XMLHttpRequest'},

 //parameter参数
 params: {
  ID: 12345
 },

 //post参数,使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象,否则会报错
 data: {
  firstName: 'Fred'
 },

 //设置超时时间
 timeout: 1000,
 //返回数据类型
 responseType: 'json', // default


}

有了配置文件,我们就可以减少很多额外的处理代码也更优美,直接使用

axios.post(url,{},config)
  .then(function(res){
    console.log(res);
  })
  .catch(function(err){
    console.log(err);
  })
//axios请求返回的也是一个promise,跟踪错误只需要在最后加一个catch就可以了。
//下面是关于同时发起多个请求时的处理

axios.all([get1(), get2()])
 .then(axios.spread(function (res1, res2) {
  // 只有两个请求都完成才会成功,否则会被catch捕获
 }));

最后还是说一下配置项,上面讲的是额外配置,如果你不想另外写也可以直接配置全局

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

//当然还可以这么配置
var instance = axios.create({
 baseURL: 'https://api.example.com'
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # axios  # 上传文件  # axios.js  # ajax  # 上传  # vue使用Axios做ajax请求详解  # 在Vue组件化中利用axios处理ajax请求的使用方法  # vue axios 在页面切换时中断请求方法 ajax  # vue结合axios与后端进行ajax交互的方法  # vue 组件的封装之基于axios的ajax请求方法  # vue项目使用axios发送请求让ajax请求头部携带cookie的方法  # Vue官方推荐AJAX组件axios.js使用方法详解与API  # Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)  # Vue通过axios发送ajax请求基础演示  # 如果你  # 则会  # 还可以  # 多个  # 不需要  # 才会  # 可以用  # 只需  # 要在  # 用了  # 要用  # 如果没有  # 可以直接  # 几种  # 就可  # 是说  # 只需要  # 可以使用  # 报错  # 配置文件 


相关文章: 深圳网站制作平台,深圳市做网站好的公司有哪些?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建站之星安装后如何自定义网站颜色与字体?  网站制作免费,什么网站能看正片电影?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  ,南京靠谱的征婚网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  C++如何编写函数模板?(泛型编程入门)  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  PHP 500报错的快速解决方法  建站主机选购指南:核心配置优化与品牌推荐方案  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  宝塔建站后网页无法访问如何解决?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  已有域名如何快速搭建专属网站?  ,如何利用word制作宣传手册?  C#怎么使用委托和事件 C# delegate与event编程方法  七夕网站制作视频,七夕大促活动怎么报名?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  香港网站服务器数量如何影响SEO优化效果?  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何在Windows服务器上快速搭建网站?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何快速上传自定义模板至建站之星?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何在万网开始建站?分步指南解析  如何通过可视化优化提升建站效果?  如何用狗爹虚拟主机快速搭建网站?  建站上传速度慢?如何优化加速网站加载效率?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在阿里云域名上完成建站全流程?  建站主机核心功能解析:服务器选择与网站搭建流程指南  Android自定义控件实现温度旋转按钮效果  Thinkphp 中 distinct 的用法解析  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何通过西部建站助手安装IIS服务器?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在新浪SAE免费搭建个人博客?  TestNG的testng.xml配置文件怎么写  香港服务器WordPress建站指南:SEO优化与高效部署策略  建站主机是什么?如何选择适合的建站主机?  如何快速生成凡客建站的专业级图册?  开封网站制作公司,网络用语开封是什么意思?  制作网站的公司有哪些,做一个公司网站要多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。