Fetch 是一种用于进行网络请求的现代 JavaScript API。它提供了一种简单、灵活且功能强大的方式,用于从服务器获取资源并处理响应。
Fetch API 在浏览器中原生支持,并且以 Promise 为基础,使得异步请求更加直观和易用。使用 Fetch API,可以执行各种类型的请求(如 GET、POST、PUT、DELETE 等),发送请求时可以设置请求头、请求参数,以及处理响应数据。
fetch(url, options)
.then(response => {
// 在这里处理响应
})
.catch(error => {
// 在这里处理错误
});
Response 对象提供了 5 个方法,用于从 HTTP 响应中获取不同类型的数据:
1)response.json():将响应体解析为 JSON 对象。如果响应的 Content-Type 是application/json,则使用此方法。
2)response.text():将响应体解析为文本字符串。如果响应的 Content-Type 是纯文本类型,如 text/plain 或 text/html,则使用此方法。
3)response.formData():将响应体解析为 FormData 对象。如果响应的 Content-Type 是 multipart/form-data,则使用此方法。FormData 通常用于上传文件或提交表单数据。
4)response.blob():将响应体解析为 Blob 对象。Blob 对象表示二进制大对象,可以是图像、音频、视频等类型的数据。
5)response.arrayBuffer():将响应体解析为 ArrayBuffer 对象。ArrayBuffer 是一种表示二进制数据的固定长度缓冲区。
这些方法返回一个 Promise,当解析完成时,Promise 将被解析为相应的数据类型。