首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用Fetch APi时设置请求头部的content-type

如何在使用Fetch APi时设置请求头部的content-type
EN

Stack Overflow用户
提问于 2016-07-02 11:37:26
回答 2查看 96.5K关注 0票数 75

我正在使用npm‘isomorphic fetch’发送请求。我遇到的问题是我无法设置请求头的内容类型。

我将内容类型设置为application/json,但是请求标头被设置为text/plain。

代码语言:javascript
运行
复制
import 'isomorphic-fetch';

  sendRequest(url, method, body) {
    const options = {
      method: method,
      headers:{'content-type': 'application/json'},
      mode: 'no-cors'
    };

    options.body = JSON.stringify(body);

    return fetch(url, options);
  }

当我在浏览器中检查请求时,内容类型是o:

代码语言:javascript
运行
复制
content-type:text/plain;charset=UTF-8

有人能解释一下为什么我不能设置这个属性吗?

EN

回答 2

Stack Overflow用户

发布于 2016-07-16 04:05:04

您需要创建一个fetch headers对象。

代码语言:javascript
运行
复制
sendRequest(url, method, body) {
    const options = {
        method: method,
        headers: new Headers({'content-type': 'application/json'}),
        mode: 'no-cors'
    };

    options.body = JSON.stringify(body);

    return fetch(url, options);
}
票数 57
EN

Stack Overflow用户

发布于 2016-07-03 02:48:22

在阅读了下面的文章后,我找到了答案:

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Headers

保护由于headers可以在请求中发送和在响应中接收,并且对于哪些信息可以和应该是可变的有各种限制,headers对象有一个Guard属性。这不会向Web公开,但它会影响允许对headers对象执行哪些突变操作。

可能的保护值包括:

对从请求中获取的headers对象的

  • none:default.
  • request:保护;对从请求中获取的headers对象的(Request.headers).
  • request-no-cors:保护;对从主要用于ServiceWorkers的响应(Response.headers).
  • immutable:中获取的Headers进行Request.mode no-cors.
  • response:保护;将headers对象呈现为只读。

注意:您不能附加或设置request防护标头的Content-Length标头。同样,不允许在响应头中插入Set-Cookie:不允许ServiceWorkers通过合成响应设置cookie。

当options模式属性设置为no-cors时,请求标头值是不可变的。

相反,我将mode属性设置为cors。

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38156239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档