全网整合营销服务商

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

免费咨询热线: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或者网站是什么?  建站之星官网登录失败?如何快速解决?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何构建满足综合性能需求的优质建站方案?  建站主机是否属于云主机类型?  公司网站制作价格怎么算,公司办个官网需要多少钱?  建站之星在线客服如何快速接入解答?  如何在阿里云虚拟主机上快速搭建个人网站?  C++如何编写函数模板?(泛型编程入门)  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  ppt制作免费网站有哪些,ppt模板免费下载网站?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何快速辨别茅台真假?关键步骤解析  招贴海报怎么做,什么是海报招贴?  建站DNS解析失败?如何正确配置域名服务器?  动图在线制作网站有哪些,滑动动图图集怎么做?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何在Golang中指定模块版本_使用go.mod控制版本号  如何将凡科建站内容保存为本地文件?  北京网站制作网页,网站升级改版需要多久?  常州企业建站如何选择最佳模板?  如何制作网站标识牌,动态网站如何制作(教程)?  ,南京靠谱的征婚网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  Swift开发中switch语句值绑定模式  如何选择美橙互联多站合一建站方案?  制作网站的公司有哪些,做一个公司网站要多少钱?  建站主机数据库如何配置才能提升网站性能?  如何选择高效便捷的WAP商城建站系统?  如何在建站之星绑定自定义域名?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何在宝塔面板中修改默认建站目录?  电商网站制作公司有哪些,1688网是什么意思?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  建站主机如何选?高性价比方案全解析  如何用免费手机建站系统零基础打造专业网站?  制作门户网站的参考文献在哪,小说网站怎么建立?  Python文件管理规范_工程实践说明【指导】  ,想在网上投简历,哪几个网站比较好?  MySQL查询结果复制到新表的方法(更新、插入)  建站VPS推荐:2025年高性能服务器配置指南  简历在线制作网站免费版,如何创建个人简历? 

您的项目需求

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