使用 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
还有更多内容。
GET
和 POST
是 HTTP Requests 的方法。主要感兴趣的是:
GET
: 得到一个东西
POST
: 做一个新东西
PUT
: 换个东西
DELETE
: 删除一个东西
GET
的最基本形式是请求特定 URI 发回 pre-set 数据。此外,GET
往往是最常见的使用请求,因此大多数 HTTP request-making 方法将使这变得非常简单。因此,GET
通常只需要一个 URI。
相比之下,POST
发生了很多事情。
- 您没有提出
GET
请求。这更特定于 Fetch API,因为它默认假定 GET
,因此您需要在使用的选项中指定 method: "POST"
.
- 根据定义,您是在发送数据。因此,您必须在方法中包含该数据:
body: myData
- 数据有格式。服务器不知道您向它发送的是字符串、整数、JSON 还是整个哈利波特电影集。它只看到 1 和 0 的流。这就是 headers 的用武之地,它让您可以向服务器指定您要向其发送 JSON object 或图像文件,以便服务器可以适当地处理这些位。因此,我们在选项中看到
headers: { 'Content-Type': <MIME type of myData> }
。
为什么当我们使用 Fetch API 时,它需要为 POST
请求而不是 GET
请求向函数输入更多的大量信息。这对我自己来说有点学习曲线。另外,什么决定了您需要用于 POST
请求的 headers?
TLDR,POST
还有更多内容。
GET
和 POST
是 HTTP Requests 的方法。主要感兴趣的是:
GET
: 得到一个东西POST
: 做一个新东西PUT
: 换个东西DELETE
: 删除一个东西
GET
的最基本形式是请求特定 URI 发回 pre-set 数据。此外,GET
往往是最常见的使用请求,因此大多数 HTTP request-making 方法将使这变得非常简单。因此,GET
通常只需要一个 URI。
相比之下,POST
发生了很多事情。
- 您没有提出
GET
请求。这更特定于 Fetch API,因为它默认假定GET
,因此您需要在使用的选项中指定method: "POST"
. - 根据定义,您是在发送数据。因此,您必须在方法中包含该数据:
body: myData
- 数据有格式。服务器不知道您向它发送的是字符串、整数、JSON 还是整个哈利波特电影集。它只看到 1 和 0 的流。这就是 headers 的用武之地,它让您可以向服务器指定您要向其发送 JSON object 或图像文件,以便服务器可以适当地处理这些位。因此,我们在选项中看到
headers: { 'Content-Type': <MIME type of myData> }
。