为什么有些获取请求要求您包含带有 object 的第二个参数?

Why do some fetch requests require you to include a second argument with an object?

为什么有些提取请求不仅需要包含 URL,还需要包含带有 属性 类方法的 Object 或 headers?

好像每次遇到这种情况,方法属性值总是设置为'POST'。是否存在这不是真的情况? headers 在幕后做什么?

fetch('https://.....', {
     method: 'POST',
     headers: {
          'example': 'example',
          'example2': 'example2'
     }
}) ....

如果您在没有第二个参数的情况下调用 fetch,它将使用标准 headers 进行默认 GET 调用。

另一方面,如果你想进行 POST/PUT/PATCH/DELETE 调用,由于这些动词将数据发送到服务器并导致数据库更改,你需要发送一些额外的信息。
Headers 对于这些动词,通常在默认条目中携带一些授权承载令牌,并定义 body.
内容类型 请求的 body 是最重要的条目,因为它将携带您要发送到服务器的数据。
基本上 headers 是附加到 HTTP 请求的 key-value 条目,它们携带有关请求类型的附加信息:

A request header is an HTTP header that can be used in an HTTP request to provide information about the request context, so that the server can tailor the response. For example, the Accept-* headers indicate the allowed and preferred formats of the response. Other headers can be used to supply authentication credentials (e.g. Authorization), to control caching, or to get information about the user agent or referrer, etc. MDN