iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Ajax常用封装库——Axios的使用
  • 354
分享到

Ajax常用封装库——Axios的使用

2024-04-02 19:04:59 354人浏览 八月长安
摘要

目录AxiOS的特性有:Axios api向axios()传递相关配置来创建请求;常用的配置项axios 全局默认值的配置axios拦截器:在请求或响应被then或catch处理前拦

Axios 是目前应用最为广泛的 ajax 封装库

Axios的特性有:

  • 从浏览器中创建 XMLHttpRequests
  • node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF

使用axios时,需要通过使用script标签引入:https://unpkg.com/axios/dist/axios.min.js
axios的中文网链接:Axios中文网

Axios API

向axios()传递相关配置来创建请求;

  • axios(对象格式的配置选项)
  • axios(url,config)

常用的配置项

  • url:用于请求的服务器URL
  • method:创建请求时使用的方法
  • baseURL:传递相对URL前缀,将自动加在url前面
  • headers:即将被发送的自定义请求头
  • params:即将与请求一起发送的URL参数
  • data:作为请求主体被发送的数据
  • timeout:指定请求超时的毫秒数(0表示无超时时间)
  • responseType:表示服务器响应的数据类型,默认“json”

axios().then(function(response){
 //正常请求的响应信息对象response
})
.catch(function(error){
 //捕获的错误
})

代码展示如下:


<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
 //使用axios方法    post请求
axios({
         url:"/pinglun",
         method:"post",
         baseURL:"http://localhost:3000",
         header:{
               "Content-Type":"application/json"
         },
        data:{
            "content":"well",
            "lyId":4
         },
    timeout:1000,
  }).then(function(res){
       console.log(res.data);
   }).catch(function(error){
       console.log(error);
})
 </script>

axios 全局默认值的配置


axios.defaults.baseURL = 'https://xxx.xxx.com';
axios.defaults.headers.post['Content-Type'] = 'application/x-www-fORM-urlencode'

axios拦截器:在请求或响应被then或catch处理前拦截它们

axios 的请求拦截器


//axios 的请求拦截器
axios.interceptors.request.use(function(config){
 //配置项config
  config.params = {
        id:2 //对配置项中的params进行更改,筛选id=2
    }
   return config;//要有返回值
})
    
//axios 方法
axios("http://localhost:3000/liuyan")
.then(function(res){
      console.log(res.data);
 })
.catch(function(error){
      console.log(error);
})
    
//axios 方法
axios("http://localhost:3000/pinglun")
.then(function (res) {
    console.log(res.data);
})
.catch(function (error) {
     console.log(error);
})
//多个axios方法也可以拦截

axios 的响应拦截器


//axios 的响应拦截器
axios.interceptors.response.use(function(response){
     return(response.data);//response里有很多值,选择data即可
})
    
//axios 方法
axios("http://localhost:3000/liuyan")
.then(function (res) {
      console.log(res);//response那里拦截了,已经将数据传成data了
})
.catch(function (error) {
     console.log(error);
})

axios的快速请求方法

 axios.get(url[,config])


//axios.get(url[,config])
    
axios.get("http://localhost:3000/liuyan?id=2")
 .then(function(res){
     console.log(res.data);
})
    
axios.get("http://localhost:3000/liuyan",{
   params:{
        id:1
   }
}).then(function(res){
    console.log(res.data);
})

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


//axios.post(url[,data[,config]]) , post请求,添加数据
axios.post("http://localhost:3000/users",{
    name:"laowang",
    age:23,
    class:1
})

 axios.delete(url[,config])


//axios.delete(url[,config])
axios.delete("http://localhost:3000/liuyan",{
   params:{
         id:5
    }
})

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


//axios.put(url[,data[,config]])
axios.put("http://localhost:3000/liuyan",{
    name:"wangshisan",
    id:11
})

XMLHttpRequest2.0,HTML5对XMLHttpRequest类型全面升级,使其变得更加易用、强大。

onload / onprogress

  XML.onload 事件:只在请求完成时触发

  XML.onprogress 事件:只在请求进行中触发


//xhr.onload事件:只在请求完成时触发
//xhr.onprogress事件:只在请求进行中触发
var xhr = new XMLHttpRequest();
xhr.open("get","http://localhost:3000/pinglun");
xhr.onload = function(){
     console.log("load:",this.readyState);
};
xhr.onprogress = function(e){
    console.log("progress:",this.readyState);
    //在周期性请求过程中,接收到的数据个数
     console.log(e.loaded);
     //接收数据的总个数
     console.log(e.total);
}
xhr.send(null);

response属性

  以对象的形式表述响应体,其类型取决于responseType的值。根据responseType的值,来通过特定的类型请求数据。

  responseType要在调用open()初始化请求之后,在调用send()发送请求到服务器之前设置才会有效。


//XMLHttpRequest之前的response返回
//responseText
// responseXml
var xhr = new XMLHttpRequest();
xhr.open("get","http://localhost:3000/pinglun");
xhr.onload = function(){
  var data = JSON.parse(this.responseText);
          console.log(data);
   }
xhr.send(null);
           
// xhr2.0新增的response属性 
// response
// responseType
var xhr = new XMLHttpRequest();
xhr.open("get","http://localhost:3000/liuyan");
xhr.responseType = "json";
xhr.onload = function(){
    console.log(this.response);
}
xhr.send(null)

以上就是Ajax常用封装库——Axios的使用的详细内容,更多关于Ajax封装库Axios的使用的资料请关注编程网其它相关文章!

--结束END--

本文标题: Ajax常用封装库——Axios的使用

本文链接: https://www.lsjlt.com/news/125252.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Ajax常用封装库——Axios的使用
    目录Axios的特性有:Axios API向axios()传递相关配置来创建请求;常用的配置项axios 全局默认值的配置axios拦截器:在请求或响应被then或catch处理前拦...
    99+
    2022-11-12
  • Ajax的封装库Axios怎么使用
    这篇文章主要介绍“Ajax的封装库Axios怎么使用”,在日常操作中,相信很多人在Ajax的封装库Axios怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ajax的封...
    99+
    2022-10-19
  • 如何使用Typescript封装axios
    本文小编为大家详细介绍“如何使用Typescript封装axios”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Typescript封装axios”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基础封装首...
    99+
    2023-07-02
  • uniapp 微信小程序axios库的封装及使用
    方式一 第一步:安装axios及适配器 安装依赖 需要注意使用uniapp-vue3版本时axios的版本需要0.26.0以下,建议锁版本 npm i axios@0.26.0 axios-miniprogram-adapter&&...
    99+
    2023-09-03
    微信小程序 uni-app 小程序 前端 vue.js
  • 项目中使用Typescript封装axios
    目录写在前面基础封装拦截器封装类拦截器实例拦截器接口拦截封装请求方法取消请求准备工作取消请求方法的添加与删除取消请求方法测试测试请求方法测试取消请求写在最后写在前面 虽然说Fetch...
    99+
    2022-11-13
  • vue中如何使用axios和封装
    这篇文章给大家分享的是有关vue中如何使用axios和封装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue官方推荐使用 axios发送请求首先上需求1.需要封装全局调用2.返...
    99+
    2022-10-19
  • AJAX封装类的使用教程
    本篇内容介绍了“AJAX封装类的使用教程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!AJAX说起来感觉很...
    99+
    2022-10-19
  • 如何封装一个好用的axios
    这篇文章主要介绍了如何封装一个好用的axios的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何封装一个好用的axios文章都会有所收获,下面我们一起来看看吧。通用能力列一下我想要这个通用请求能达到什么样的效果...
    99+
    2023-07-02
  • Vue3中使用typescript封装axios的实例详解
    这个axios封装,因为是用在vue3的demo里面的,为了方便,在vue3的配置里面按需加载element-plus 封装axios http.ts import axios,...
    99+
    2022-11-12
  • Vue前端如何对axios的封装和使用
    这篇文章将为大家详细讲解有关Vue前端如何对axios的封装和使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Axios 是一个基于 promise 的 HTTP 库。...
    99+
    2022-10-19
  • vue中数据请求axios的封装和使用
    目录一、什么是axios二、下载方式三、拦截器四、请求的封装五、使用一、什么是axios      简单的来说,​Axios 是一个基于 promise...
    99+
    2022-11-13
  • axios的简单封装以及使用实例代码
    前言 最近在构建项目时,想到了请求的封装,之后就琢磨如何封装才好。虽然对各位大佬来说可能是个小事情,但对我来说也算是一个小小的挑战。在我设想中请求的一些基本配置与具体接口应该放于两个...
    99+
    2022-11-12
  • 如何使用TS对axios的进行简单封装
    目录1.安装axios2.在合适路径下新建request.ts(名称可随意),例如可以在项目的src下创建utils文件夹创建request.ts3.导入axios并创建axios实...
    99+
    2022-11-13
    ts axios简单封装 ts封装axios
  • vue项目使用axios封装request请求的过程
    目录一、封装axios二、封装api 函数三、页面中使用一、封装axios 1.src 目录中新建utils文件夹2.utils文件中建立request.js文件 request....
    99+
    2023-05-17
    vue axios封装request请求 vue axios封装请求
  • 如何在vue项目中使用封装后的axios
    这篇文章给大家介绍如何在vue项目中使用封装后的axios,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为什么要使用VueVue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试...
    99+
    2023-06-06
  • Vue如何二次封装axios为插件使用
    这篇文章给大家分享的是有关Vue如何二次封装axios为插件使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vuejs2.0 已经不再维护 vue-resource,vuejs...
    99+
    2022-10-19
  • vue3和ts封装axios以及使用mock.js详解
    目录前言一、axios 的依赖安装与处理  1. 依赖安装2. 全局 axios 封装3. 实际使用二、 mock.js 的依赖安装与处理  1. 安装依赖2. ...
    99+
    2023-02-17
    vue3封装axios ts封装axios 使用mock.js
  • 四、axios在vite+ts使用class类二次封装
    文章目录 前言aioxs二次封装配置报错element plus弹框引入不识别 还需要引入到同时从fig.json使用 总结 前言 aioxs二次封装配置 引入需要的文件创建...
    99+
    2023-09-08
    javascript 前端 开发语言 vue.js typescript 前端框架
  • 前端(二十七)——封装指南:Axios接口、常用功能、Vue和React中的封装技术
    😊博主:小猫娃来啦 😊文章核心:前端封装指南:Axios接口、常用功能、Vue和React中的封装技术 本文目录 小引前端封装以真实项目举个例子 Axios接口封装常用功能封装封装 Vue中...
    99+
    2023-12-23
    前端 vue.js react.js javascript 开发语言
  • vue多环境配置及axios封装使用的方法
    今天小编给大家分享一下vue多环境配置及axios封装使用的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作