如何使用 Content-Type header 创建响应?

How to create a Response with Content-Type header?

为了测试项目中的 fetch 调用,我做了一些模拟、拦截请求并构建了我自己的 Response object.

由于返回的数据是JSON,我想在响应中添加Content-Type header,这是在客户端检查的,documented as valid on mozdev , 但在 Chrome 或 Firefox 中,创建的 Response 有一个空的 headers 属性.

const response = new Response(myData, {
  status: 200,
  statusText: 'OK',
  headers: {
    'Content-Type': 'application/json'
  }
}

当然我也试过插入新创建的Headersobject。我得到了相同的结果。

Here is the result on Chrome

我做错了吗?

那只是因为 Headers 不是一个普通对象(所以 devtools 不知道如何扩展它)。参见 https://developer.mozilla.org/en-US/docs/Web/API/Headers

你可以在上面调用 keys()entries() 看看里面有什么。

或者更具体地说,在您的情况下,response.headers.get('Content-Type') 将显示 application/json