前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Axios 简单使用指南

Axios 简单使用指南

作者头像
村雨遥
发布2022-10-30 11:53:54
1.2K0
发布2022-10-30 11:53:54
举报
文章被收录于专栏:JavaParkJavaPark

概述

什么是 Axios ?

Axios 是一个开源的基于 promiseHTTP 请求库,一般常用于浏览器和 node.js 中。它能够在具有相同代码库的浏览器和 nodejs 中同时运行,在服务器侧,它利用服务器端原生的 node.js http 模块,而在客户端侧(一般是浏览器),则使用的是 XMLHttpRequest

Vue 2.0 版本开始,就极力推荐使用 Axios 来进行 ajax 请求,其源码仓库为:

https://github.com/axios/axios

特性

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

Axios 的安装

Axios 安装主要有两种方式,一种是通过引入 CDN,另一种则是通过 npm 进行安装,两中安装的方式介绍如下。

  1. 使用 CDN
代码语言:javascript
复制
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  1. 使用 npm
代码语言:javascript
复制
npm install axios

支持的浏览器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X06QFCcI-1665585598285)(https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zkfX0OBo-1665585598286)(https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aapz9VEc-1665585598286)(https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png)]

Latest ✔

Latest ✔

Latest ✔

Latest ✔

Latest ✔

8+ ✔

Axios 的使用

Axios 提供了两种不同的方式来发送 HTTP 请求,其中一种是直接通过 axios() 方法,而另一种则是通过 axios 对象提供的跟 HTTP 方法对应起来的方法来发起请求,例如:

  • axios.get()
  • axios.post()
  • axios.update()
  • axios.put()
  • ……

get 请求

  • 语法
代码语言:javascript
复制
axios.get(url?key=value&key2=value2).then(function(response){}, function(err){});
  • 实例
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Axios 使用</title>
		<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
	</head>
	<body>
		<div class="container">
			<button class="btn btn-primary">GET 请求</button>
		</div>
		<script>
			const btn = document.querySelector("button");
			btn.onclick = function() {
				axios.get("https://www.baidu.com/s?wd=村雨遥").then(response => {
					console.log(response)
				});
			}
		</script>
	</body>
</html>

post 请求

  • 语法:
代码语言:javascript
复制
axios.post(url, {key=value, key2=value2}).then(function(response){}, function(err){});
  • 实例
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Axios 使用</title>
		<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
	</head>
	<body>
		<div class="container">			
			<button class="btn btn-warning">POTST 请求</button>
		</div>
		<script>
            data: {
                wd: "村雨遥"
            }
			const btn = document.querySelector("button");           
			btn.onclick = function() {
				axios.post('https://www.baidu.com/s', data).then(response => {
					console.log(response)
				});
			}
		</script>
	</body>
</html>

put 请求

  • 语法
代码语言:javascript
复制
axios.put(url, {key=value, key2=value2}).then(function(response){}, function(err){});
  • 实例
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Axios 使用</title>
		<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
	</head>
	<body>
		<div class="container">
			<button class="btn btn-success">PUT 请求</button>
		</div>
		<script>
			data: {
				name: "村雨遥",
				id: "cunyu1943"
			}
			const btn = document.querySelector("button");
			btn.onclick = function() {
				axios.put('https://www.baidu.com/s', data).then(response => {
					console.log(response)
				});
			}
		</script>
	</body>
</html>

delete 请求

  • 语法
代码语言:javascript
复制
axios.delete(url?key=value&key2=value2).then(function(response){}, function(err){});
  • 实例
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Axios 使用</title>
		<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
	</head>
	<body>
		<div class="container">
			<button class="btn btn-danger">DELETE 请求</button>
		</div>
		<script>
			const btn = document.querySelector("button");
			btn.onclick = function() {
				axios.delete("https://www.baidu.com/s?wd=村雨遥").then(response => {
					console.log(response)
				});
			}
		</script>
	</body>
</html>

总结

以上就是本文的所有内容了,主要介绍了 Axios 的定义、特性、如何安装以及所支持的浏览器,然后介绍了如何使用 Axios 来模拟发起最常用的 GETPOSTPUT 以及 DELETE 请求。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 什么是 Axios ?
      • 特性
        • Axios 的安装
          • 支持的浏览器
          • Axios 的使用
            • get 请求
              • post 请求
                • put 请求
                  • delete 请求
                  • 总结
                  相关产品与服务
                  内容分发网络 CDN
                  内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档