现象:
Django自定义响应头uuid,前端无法获取uuid的值
response = HttpResponse(image,content_type='image/jpeg')response['uuid'] = UUIDreturn response
原因 :
跨域问题 启用跨域请求(CORS)
在使用CORS方式跨域时,浏览器只会返回默认的头部
Header,认情况下可用的响应头包括:
Cache-Control
Content-Language
Content-Type
Expires
Last-Modified
Pragma
解决:
使用 Access-Control-Expose-Headers
Access-Control-Expose-Headers 响应报头 指示哪些报头可以 公开 为通过列出他们的名字的响应的一部分
默认情况下,只显示6个简单的响应头,在上方也有介绍。
如果你想要客户端能够访问其他的请求头,则必须使用Access-Control-Expose-Headers 列出他们。
UUID = str(uuid.uuid4())l_uuid=UUID.split('-')UUID=''.join(l_uuid)response = HttpResponse(image,content_type='image/jpeg')response['uuid'] = UUIDresponse['Access-Control-Expose-Headers'] = 'uuid' return response