关于js中 ajax调取接口数据,传值,ReadyState值,Proxy和await 表达式的零散知识点分享【嘎洒糕】

本文对比了HTTP和HTTPS的区别,讨论了AJAX在使用XMLHttpRequest发送请求时的不同方式,包括GET、POST等请求方法,以及如何设置Content-Type。同时介绍了异步编程中的await和Proxy机制,旨在帮助读者理解相关概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可阅读(https://www.runoob.com/w3cnote/http-vs-https.html)了解相关内容。

要说ajax调取接口数据之前

可以先浅浅地聊聊http与https

http与https区别

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的,可进行加密传输、身份认证的网络协议,比http协议安全。

而AJAX是基于现有的Internet标准,并且联合使用它们

这里提两个使用方式:

1)常见的使用方式:创建XMLHttpRequest()对象

栗:let http = new XMLHttpRequest();

2)需着重加强印象的使用方式:请求创建的对象.open("请求方式","url")

这里再展示请求方式

get方式:偏向获取数据;

post方式: 偏向向后端提交数据;

put方式:偏向更新(全部更新);

delete方式:偏向删除信息;

传值:

1)表单格式

http.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

http.send(JSON.stringify(`userId=10&title=hello&body=你好`));

2)JSON格式

http.setRequestHeader("Content-Type","application/json")

http.send(JSON.stringify({

"userId":10,

"title":"hello",

"body":"你好"

}))

3)响应(获取接口返回值)http.responseText()获得字符串形式的响应数据。

4)onreadystatechange 监听事件

ReadyState值

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

4: 请求已完成,且响应已就绪

await 表达式

1)async 函数中可能会有 await 表达式,async 函数执行时,

如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。

2)await 关键字仅在 async function 中有效。

如果在 async function 函数体外使用 await ,你只会得到一个语法错误。

3)Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。而非 Promise 对象则直接返回对应的值。

Proxy

1)Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。

它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。

2)Reflect 可以用于获取目标对象的行为,它与 Object 类似,

但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。

3)一个 Proxy 对象由两个部分组成: target 、 handler 。在通过 Proxy 构造函数生成实例对象时,需要提供这两个参数。

4)target 即目标对象, handler 是一个对象,声明了代理 target 的指定行为。

今天的内容是不是有点难理解呢

没关系,作者陪你们一起消化

我是嘎洒糕,再见

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值