使用 Fetch API 时,为什么 post 请求需要比 get 请求更多的输入?

When using the Fetch API, why do post requests require more inputs than a get request?

为什么当我们使用 Fetch API 时,它需要为 POST 请求而不是 GET 请求向函数输入更多的大量信息。这对我自己来说有点学习曲线。另外,什么决定了您需要用于 POST 请求的 headers?

TLDR,POST 还有更多内容。

GETPOSTHTTP Requests 的方法。主要感兴趣的是:

  • GET: 得到一个东西
  • POST: 做一个新东西
  • PUT: 换个东西
  • DELETE: 删除一个东西

GET 的最基本形式是请求特定 URI 发回 pre-set 数据。此外,GET 往往是最常见的使用请求,因此大多数 HTTP request-making 方法将使这变得非常简单。因此,GET 通常只需要一个 URI。

相比之下,POST 发生了很多事情。

  1. 您没有提出 GET 请求。这更特定于 Fetch API,因为它默认假定 GET,因此您需要在使用的选项中指定 method: "POST".
  2. 根据定义,您是在发送数据。因此,您必须在方法中包含该数据:body: myData
  3. 数据有格式。服务器不知道您向它发送的是字符串、整数、JSON 还是整个哈利波特电影集。它只看到 1 和 0 的流。这就是 headers 的用武之地,它让您可以向服务器指定您要向其发送 JSON object 或图像文件,以便服务器可以适当地处理这些位。因此,我们在选项中看到headers: { 'Content-Type': <MIME type of myData> }