最近接到个新需求,要把后端在http请求响应头中传来的一个值存在localstroage中,但是我去获取的时候,发现除了content-type
这一项,其余内容都无法从request的header中获取到,控制台打印出内容皆为null
。
我当然是一脸蒙蔽啊,还以为是项目中使用的umi-request
的原因,看umi文档好久也找不出个所以然。最后靠网友提醒,我注意到了Access-Control-Expose-Headers这个东西,去文档中看看,是这么说的。
怪不得只有content-type
能被header.get()
返回值,因为除了文档中列出的Cache-Control
,Content-Language
,Content-Length
,Content-Type
,Expires
,Last-Modified
,Pragma
这七种简单响应首部,其余都不能直接通过get方法获取到,想要暴露这七种之外的response的响应头部信息,要让后端在返回自定义头部信息时候通过Access-Control-Expose-Headers
将其列出来,如下写法。
Access-Control-Expose-Headers: Content-Length, X-Kuma-Revision
okk