如何使用 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'
}
}
当然我也试过插入新创建的Headers
object。我得到了相同的结果。
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
为了测试项目中的 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'
}
}
当然我也试过插入新创建的Headers
object。我得到了相同的结果。
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