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知识库 -> Vue JS(二)-Axios -> 正文阅读

[JavaScript知识库]Vue JS(二)-Axios

目录

一、Axios介绍

二、回调地狱问题

三、Axios入门案例

1.编辑后台代码完成业务获取

2.Axios调用步骤

3.Axios-Get-携带参数

4.Axios-Delete 请求

5.Axios-post请求

四、jQuery中的post请求/Axios中的post请求对比

1.Axios中的Post请求格式

2.jQuery中的post请求格式

3.restFul的格式是将参数拼接到URL中 采用特殊的方式获取数据

五、async-await用法-箭头函数

1.概念解释

2.async-await 操作

3.Axios配置信息

4.axios-async-await-基本请求路径练习


一、Axios介绍

Axios 是一个基于promise 的HTTP库,可以用在浏览器和node.js中

特点:

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

注: 1.JS中原生提供了Ajax操作? ?弊端:操作特别的复杂,易用性较差

? ? ? ? 2.jQuery中的Ajax,封装了原生的 JS? Ajax? ,提高了开发的效率

? ? ? ? 3.Axios是VUE中默认支持的Ajax的请求的方式,调用简洁,解决了回调地狱问题

二、回调地狱问题

回调函数中嵌套回调函数的情况就叫回调地狱,回调地狱是为了实现代码顺序执行而出现的一种操作,它会造成我们的代码可读性非常差,后期不好维护。

三、Axios入门案例

1.编辑后台代码完成业务获取

2.Axios调用步骤

(1)导入Axios的JS文件

(2)发起Ajax请求

(3)解析返回值

	<body>
		<h1>Axios练习</h1>
		<!-- 引入JS文件 -->
		<script src="../js/axios.js"></script>
		<script>
			/**
			 * 注意事项:
			 * 	  1.Axios将原来的嵌套的结构,改为链式加载方式
			 *    2.回调函数中的data,不是服务器的返回值,是promise对象
			 * 
			 * 发起Ajax请求:
			 * 	1. GET请求获取数据
			 */
			axios.get("http://localhost:8090/axios/getUser")
					 .then(function(result){//promise对象
						//获取服务器返回值  promise.data
						 console.log(result.data)
					 })
			
		</script>
	</body>

promise对象说明:其中data表示服务器的返回值

?

3.Axios-Get-携带参数

(1)简单参数:URL: http://localhost:8090/axios/getUserById?id=100

? ? ? ? ?(Integer? id)接收

(2)resultFul结构:URL: http://localhost:8090/axios/user/tomcat/18

? ? ? ? ?(User? user)接收

(3)对象传参:"http://localhost:8090/axios/user/getUserObj",{params: user})

? ? ? ? ?注:key: value? ?key固定写法 params :参数对象

? ? ? ?@GetMapping(“/axios/user/getUserObj”)? ? (User user)接收

4.Axios-Delete 请求

(1)不带参数的删除
axios.delete(“url地址”).then(function(result){ … })

(2)携带个别参数 ?id=100
axios.delete(“url地址?id=100”).then(function(result){ … })

(3)restFul结构
可以使用模版字符串的方式简化代码结构
axios.delete( "url地址/xxx/xxx/xxx").then(function(result){ … })

(4)采用对象的方式进行参数传递
let 对象 = {xxxx:xxxx,xxxx:xxxx}
axios.delete( "url地址/xxx/xxx/xxx", {params: 封装后的对象}).then(function(result){ … })

5.Axios-post请求

(1)提交请求

<body>
		<h1>Axios练习</h1>
		<!-- 引入JS文件 -->
		<script src="../js/axios.js"></script>
		<script>
					/**
					 * post业务:
					 * 		实现用户的新增 传递User对象
					 * 
					 * URL地址:
					 * 		http://localhost:8090/axios/insertUser
					 * 总结: 如果需要对象传参  
					 * 				1.get请求采用 axios.get(url,{params: 对象})
					 * 				2.post请求 axios.post(url,对象)
					 */
					let user = {
						name: "post请求的语法",
						age: 20,
						sex: '女'
					}
					let url1 = "http://localhost:8090/axios/insertUser"
					axios.post(url1, user)
							 .then(function(result){
								 console.log(result.data)
							 })
					
		</script>
	</body>
</html>

注:如果采用post的方式传递对象,则数据结构是一个JSON

(2)接收请求

四、jQuery中的post请求/Axios中的post请求对比

1.Axios中的Post请求格式

?

?如果传递的数据是JSON串 ,则在后端采用@RequestBody注解 接收,实现JSON串转化为对象

2.jQuery中的post请求格式

如果采用form表单的方式提交,则可以直接采用对象的方式接收??name=xxx&age=xx&sex=xx

3.restFul的格式是将参数拼接到URL中 采用特殊的方式获取数据

在这里插入图片描述

五、async-await用法-箭头函数

1.概念解释

(1)async/await 是ES7引入的新语法 可以更加方便的进行异步操作
(2)async 关键字用在函数上. 返回值是一个promise对象
(3)await 关键字用在async 函数中

2.async-await 操作

	<body>
		<h1>Axios练习</h1>
		<!-- 引入JS文件 -->
		<script src="../js/axios.js"></script>
		<script>					
					/**
					 * axios的get请求语法
					 * 知识点:
					 * 		1.箭头函数 主要简化回调函数的写法
					 * 		思路: 重复的 固定的可以简化
					 * 		规则: 如果参数只有一个则括号可以省略
					 *  	
					 * 		2.async-await简化  解构赋值
					 * 		2.1 async 需要标识函数
					 * 		2.2 await 需要标识ajax请求
					 *    上述的操作可以将多行js 封装为一行执行 简化代码操作
					 */					
					//1.定义一个方法
					async function getUserById(){
					let url = "http://localhost:8090/axios/getUserById?id=100"
							//2.发起ajax请求  获取promise对象
							//let promise = await axios.get(url)
							//console.log(promise)
							//console.log(promise.data)
							
							//解构赋值 提取对象中有价值的数据
					let {data: resultData,status: code} = await axios.get(url)
							console.log(resultData)
							console.log(code)
					}
					
					//2.调用方法
					getUserById()

		</script>
	</body>

3.Axios配置信息

说明:可以通过下列的配置简化Ajax请求的路径

	//配置基本请求路径
	axios.defaults.baseURL = "http://localhost:8080/"

4.axios-async-await-基本请求路径练习

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:14:30  更:2021-09-14 13:16:42 
 
开发: 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年5日历 -2024/5/18 23:32:37-

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