Ajax基础总结(思维导图+二维表)

发布于:2024-12-06 ⋅ 阅读:(29) ⋅ 点赞:(0)

一些话

刚开始学习Ajax的时候,感觉很模糊,但是好像学什么都是这样的,很正常,但是当你学习的时候要持续性敲代码,边敲代码其实就可以理解很多了。然后在最后的总结,其实做二维表之后,就可以区分好多相似的东西,做了思维导图之后就很容易把脑子里的东西串成一条线。

所以说,建议大家总结啦

思维导图

这些是总的导图

这是抽取之后的

二维表

使用axios和promise对象实现Ajax有什么区别

axios 是由 promise 封装的一个 http 的库。

回调函数地狱的情况,可以使用Promise解决

比较项目

Axios 实现 Ajax

Promise 对象实现 Ajax(原生方式)

代码复杂度

较低,因为 Axios 已经封装了很多功能,代码简洁明了

较高,需要自己处理 XMLHttpRequest 的多个细节

功能丰富度

提供自动转换数据、拦截请求 / 响应、跨域支持等高级功能

主要实现基本的请求 - 响应功能,高级功能需自己实现

跨平台性

支持浏览器和 Node.js 环境

主要用于浏览器环境,在 Node.js 中需要做一些调整

对请求细节控制

相对较少,Axios 已经处理了很多底层细节

更多,可以深入定制请求的各个环节

await,async和Promise

下面一些图片我忘了从哪找到的了,如果有知道的欢迎在评论区说明

我的二维表

比较项目

async和await

Promise

定义

async用于声明异步函数,返回Promise对象;await只能async函数内使用,暂停函数执行直到Promise状态改变

表示尚未完成(或可能已完成)的异步操作的对象,有三种状态,表示异步操作最终的完成(或失败)以及其结果值

错误处理

在async函数中用try/catch块捕获await表达式中的错误

通过catch方法捕获Promise被reject后的错误

代码风格

让异步代码看起来更像同步代码,对于复杂异步流程(如多个异步操作顺序执行和错误处理)结构更清晰,减少嵌套

链式调用(then、catch等)可处理多个异步操作顺序和结果,但过多链式调用可能导致代码嵌套深、可读性差

相互关系

async函数返回Promise,await用于暂停async函数内部执行等待Promise状态改变,是基于Promise的语法糖

async和await基于Promise构建,用于更方便地处理Promise

get和post的区别

get

post

请求的目的

通常用于从服务器检索(获取)数据。它不会修改服务器上的数据。

通常用于向服务器发送数据(如提交表单)。它可能会导致服务器上的数据被修改。

安全性

GET 方法的参数会暴露在 URL 中

而 POST 方法的参数则放在请求体中,相对安全一些。

参数长度限制

GET 方法的参数长度有限制,对于只传输少量数据的请求比较适用

POST 方法没有参数长度限制,适合传输大量数据。

请求的数据

请求的数据(如果有的话)会附加到URL的查询字符串中,并以键值对的形式出现(例如,?key1=value1&key2=value2)。这意味着GET请求的数据长度是有限制的(由浏览器和服务器共同决定,但通常较短),且不适合传输敏感信息(因为URL可能会记录在浏览器历史、服务器日志等地方)。

请求的数据会放在请求体中发送,这意味着它可以传输大量数据,且不会受到URL长度的限制。POST请求更适合传输敏感信息,因为请求体通常不会在浏览器历史或服务器日志中记录。

缓存

GET 方法的请求会被浏览器缓存,多次请求相同的 URL 时,有可能直接读取缓存中的结果

请求通常不会被缓存,因为每次POST请求都可能导致服务器上的数据被修改。

使用场景

通常用于检索数据、查询数据库等不需要修改服务器数据的场景。

通常用于提交表单、上传文件、创建新资源等需要修改服务器数据的场景。

传参方式data 与 params 的区别

比较项目

data 参数

params 参数

传输方式

放在请求体中传输

通过 URL 进行传输,拼接在 URL 末尾

使用场景

适用于 POST、PUT、PATCH 等非 GET 请求,用于向服务器提交数据以创建、更新或修改资源

主要用于 GET 请求,让服务器根据参数筛选、排序或返回特定资源

数据大小限制

相对没有严格的类似 URL 长度那样的限制(实际受服务器配置等因素影响),更适合大量数据传输

受 URL 长度限制,过长 URL 可能导致请求失败

安全性

不在 URL 中显示数据,一定程度上保护隐私和安全性,适合传递敏感信息

数据在 URL 上可见,不适合传递敏感信息如密码等

同步和异步

比较项

同步

异步

是什么

按顺序依次执行任务,后一个任务等待前一个完成。(不等于阻塞)

不等待任务完成就执行其他任务。

为什么要用

逻辑简单,保证数据一致性。

提高性能和效率,提升用户体验。

在哪用

简单计算、顺序依赖强的业务逻辑。

网络请求、文件操作、定时器和事件处理。

怎么用

按正常函数调用顺序执行。

用回调函数或 Promise(JS)、async/await(其他语言)。


网站公告

今日签到

点亮在社区的每一天
去签到