IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 自学axios入门使用 -> 正文阅读

[JavaScript知识库]自学axios入门使用

axios学习笔记

一、axios的介绍

vue可以实现数据的渲染,但是其与后端接口的数据交互能力很差

原因是vue本身不具备通信能力,通常结合axios来使用,故此有一种说法前端常常使用vue+axios实现与后端的交互功能。

究竟什么是axios呢?所谓的axios其实是一个专注于异步通信的js框架来使用。

  • axios数据通信
  • vue数据渲染

二、axios入门使用

  • 原生的ajax——实现步骤复杂
  • jQuery笨重繁琐
  • axios 简洁、高效、对RESTful支持良好。

案例如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>axios的入门使用</title>
		<script type="text/javascript" src="js/vue.js"></script>
		<script type="text/javascript" src="js/axios.min.js"></script>
		
	</head>
	<body>
		<div id="container">
			<button type="button" @click="test1">测试1</button>
			
		</div>
		
		<script type="text/javascript">
			var vm=new Vue({
				el:"#container",
				data:{
					test1:function(){
						//通过开发文档发送异步请求
						//axios.get(url).then(fn);
						//axios.get(url,{}).then(fn);
						axios.get("http://localhost:9999/music/detail",{
							params:{id:"25640392"},
							})
							.then(function(res){
							console.log(res);
						});
					}
				}
			});
			
		</script>
	</body>
</html>

2.1、get请求

  • axios.get(url).then(fn)
  • axios.get(url,{}).then(fn)
//通过开发文档发送异步请求
						//axios.get(url).then(fn);
						//axios.get(url,{}).then(fn);
						axios.get("http://localhost:9999/music/detail",{
							params:{id:"25640392"},
							})
							.then(function(res){
							console.log(res);
						});

2.2、post请求

  • axios.post(url,{}).then(fn)
axios.post("http://localhost:9999/music/search",{s:"周杰伦"}).then(function(res){
console.log(res);
});

2.3、自定义请求

自定义请求:自定义请求方式、请求参数、请求头、请求体(post)

axios({
							url:"http://localhost:9999/music/search",
							method:"post",
							params:{
								//设置请求行传值
								s:"成都",
								limit:15
								
							},
							headers:{
								//设置请求头
								
							},
							data:{
								//设置请求体(post/put)
								
							}
						}).then(function(res){
							console.log(res);
						});

2.4、并发请求

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>并发请求</title>
		<script type="text/javascript" src="js/vue.js"></script>
		<script type="text/javascript" src="js/axios.min.js"></script>
	</head>
	<body>
		<div id="container">
			<button type="button" @click="test1">测试1</button>

		</div>

		<script type="text/javascript">
			var vm = new Vue({
					el: "#container",
					methods: {
						test1:function(){
							//发送异步请求
							axios.all([listMusics(),getMusicDetail()]).then(axios.spread(function(res1,res2){
								//两个请求同时执行
								console.log(res1);
								console.log(res2);
							}));
						}

					}
				)
			};
			
			function listMusics(){
				return axios.get("http://localhost:9999/music/search?s=成都");
			}
			function getMusicDetail(){
				return axios.get('http://localhost:9999/music/detail?id=25640392');
			}
		</script>
	</body>
</html>

2.5、箭头函数

  • axios中的回调函数的参数res说明://res并不是接口返回的数据而是表示一个响应对象;res.data才表示接口响应的数据

  • 箭头函数的案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>箭头函数</title>
		<script type="text/javascript" src="js/vue.js"></script>
		<script type="text/javascript" src="js/axios.min.js"></script>
	</head>
	<body>
		<div id="container">
			<table>
				<tr>
					<td>{{song.name}}</td>
				</tr>
			</table>
			<button type="button" @click="test1">测试1</button>
		</div>

		<script type="text/javascript">
			var vm = new Vue({
					el: "#container",
					data:{
						song:{	
						}
					},
					methods:{
						test1:function(){
							axios.get("http://localhost:9999/music/detail?id=25640392").then((res)=>{
								//res并不是接口返回的数据而是表示一个响应对象;res.data才表示接口响应的数据
								if(res.data.code==200){
									this.song=res.data.songs[0];
									//console.log(song)
								}	
							});
						}
					}
				});
			
			/* function listMusics(){
				return axios.get("http://localhost:9999/music/search?s=成都");
			}
			function getMusicDetail(){
				return axios.get('http://localhost:9999/music/detail?id=25640392');
			} */
		</script>
	</body>
</html>

三、总结

今天是我抽空余的时间学的axios基本使用,其作用多用于前后端分离项目中的异步交互,常常与vue一起使用,其中语法类似于ajax更多的案例可以参照我文章开头的那个链接

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:33:27  更:2021-10-16 19:35:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:10:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码