fetch()函数说明与使用方法详解

fetch()函数说明与使用方法详解

fetch() 是浏览器原生提供的一个用于发送请求和接收响应数据的方法,可以使用该方法向服务器发送请求获取数据,并接收返回的数据。下面是一些常用的 fetch() 的使用方法。

基本使用方法

代码示例:

fetch(url)
  .then(response => { 
    return response.json() 
  })
  .then(data => { 
    console.log(data) 
  })
  .catch(error => { 
    console.log(error) 
  })

参数 url 表示要请求的资源的 URL,返回值是一个 Promise 对象。调用 fetch() 发起请求后,返回的 Promise 对象立即进入 pending 状态。然后通过 then() 方法来处理从服务器返回的响应数据。在 then() 回调函数中,我们可以接收到一个 Response 对象,我们可以将其解析为 JSON 格式的数据,并将其传递给下一个 then() 方法,这个下一个 then() 方法中的 data 就是服务器返回的数据。

请求类型

HTTP 请求方法

fetch() 方法默认的是 GET 请求方式,如果需要使用 POST、PUT、DELETE 等其他请求方式,需要在请求选项中指定,代码示例如下:

fetch(url, {
  method: 'POST',
  body: JSON.stringify(data),
  headers: {
    'Content-Type': 'application/json'
  }
})

fetch() 的第二个参数选项包含如下属性:

  • method 表示请求的方法。
  • body 表示请求体,一般用于 POST 请求的数据。
  • headers 表示请求头。

请求可能的状态

fetch() 的 Response 对象表示了通信的响应,有很多属性可以表示被响应的状态,例如 status 和 statusText 属性。

状态码 描述
200 ~ 299 表示成功响应
300 ~ 399 表示重定向
400 ~ 499 表示客户端请求错误
500 ~ 599 表示服务器请求错误

示例

下面展示一个简单的例子:

fetch('https://api.github.com/users')
  .then(response => response.json())
  .then(data => {
    console.log(data);
  })
  .catch(error => console.log(error));

这个例子向 GitHub API 发起了一个 GET 请求获取用户列表信息。

再看一个 POST 请求的例子:

const data = { name: 'john', age: 28 };

fetch('https://example.com/api/users', {
  method: 'POST',
  body: JSON.stringify(data),
  headers: {
    'Content-Type': 'application/json'
  }
})
  .then(response => {
    if (response.ok) {
      return response.json();
    } else {
      throw new Error('Request failed!');
    }
  })
  .then(data => {
    console.log(data);
  })
  .catch(error => console.log(error));

这个例子向 https://example.com/api/users 发起一个 POST 请求,让服务器创建一个新的用户。在请求选项中,我们指定了请求的方法为 POST,并通过 body 属性添加了要发送的数据。在 headers 属性中添加了 Content-Type 表示传递的数据类型为 JSON 格式。在 then() 回调函数中,如果响应成功,则将其解析为 JSON 格式的数据,并将其传递给下一个 then() 方法,这个下一个 then() 方法中的 data 就是服务器返回的数据。如果有错误发生,则会跳转到 catch() 方法中,打印错误信息。

结论

fetch() 是一个方便、易用的 API,能够帮助你以简单、直观的方式和服务器进行交互。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:fetch()函数说明与使用方法详解 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • C#实现XML文件操作详解

    C#实现XML文件操作详解 什么是XML文件 XML(eXtensible Markup Language)是一种标记语言, 它不是一种编程语言,而是一种类似于 HTML 、CSS 的定义性标记语言。XML 文件包含了标签、属性、文本和注释等元素。 与 HTML 不同的是,XML 是一种通用的数据编码语言,它可以在网络上交换数据,具有跨平台、跨语言和扩展性等…

    html 2023年5月30日
    00
  • Html中value和name属性的作用及其使用介绍

    下面是关于Html中value和name属性的作用及使用介绍的详细攻略。 1. value属性的作用及使用介绍 value属性通常用于定义表单元素的值,而表单元素指的是有输入交互的元素,例如input、select和textarea等。 使用示例: <label for="username">用户名:</label&gt…

    html 2023年5月30日
    00
  • js使用递归解析xml

    以下是详细讲解“js使用递归解析xml”的完整攻略: 步骤一:获取XML数据 首先,你需要获取到一个XML的数据源。可以使用AJAX或其他的网络请求方式来获取XML数据。下面是一个使用AJAX获取XML数据的示例代码: function loadXMLDoc(filename) { let xhttp = new XMLHttpRequest(); xhtt…

    html 2023年5月30日
    00
  • C++中cout输出中文信息乱码问题及解决

    C++中cout输出中文信息乱码问题及解决 问题描述 在使用C++中的cout语句输出中文信息时,会出现乱码的问题。例如,以下代码: #include <iostream> using namespace std; int main() { cout << "中文信息" << endl; return …

    html 2023年5月31日
    00
  • 非常不错的WAP常见问题问答大全(二)第1/3页

    针对“非常不错的WAP常见问题问答大全(二)第1/3页”的完整攻略,我将从以下几个方面进行详细讲解: 页面结构解析 使用技巧介绍 示例说明 页面结构解析 该页面是一个WAP版的常见问题问答大全,包含多个常见问题以及对应的解答。该页面采用了Markdown的语法,使用的是该网站的默认样式。 页面总体结构如下: 页面顶部是网站的logo、导航、搜索框等元素 页面…

    html 2023年5月31日
    00
  • body的属性 body标签主要的属性小结

    让我来为您详细讲解“body的属性 body标签主要的属性小结”。 body标签的基本概念 <body> 标签定义了 HTML 文档的主体内容,是一个必须的标签,并且只能有一个。<body> 标签之间可以包含所有的可见内容(比如文本、图片、音频、视频、表格、网页链接等等)。 body标签主要属性小结 style属性 style 属性用…

    html 2023年5月30日
    00
  • Excel表格中怎么制作正态分布图和正态曲线模板?

    如果您想在Excel表格中制作正态分布图和正态曲线模板,可以尝试以下方法: 制作正态分布图 打开Excel表格,输入数据。 选中数据,点击“插入”选项卡,选择“散点图”。 在散点图中,右键单击任意一个数据点,选择“添加趋势线”。 在“添加趋势线”对话框中,选择“正态分布”选项,勾选“显示方程式”和“显示R²值”。 点击“确定”按钮,即可在散点图中显示正态分布…

    html 2023年5月17日
    00
  • javascript json 新手入门文档

    当您希望通过JavaScript处理和传输数据时,JSON(JavaScript Object Notation)是一种非常流行的格式。JSON是一种轻量级的数据交换格式,易于阅读和编写,同时还易于机器解析和生成。 什么是 JSON? JSON 是一种轻量级的数据交换格式,易于阅读和编写,同时还易于机器解析和生成。JSON是基于JavaScript语法标准的…

    html 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部