AJAX/REACT/VUE等前台response获取不到自定义中的header为空

原因:跨域后系统为了安全去掉自定义头
解决方法:

django后台
后端在返回response时,加上header Access-Control-Expose-Headers
如下:response['Content-Disposition'] ='' #自定义头
response['Access-Control-Expose-Headers'] = "Content-Disposition" #Content-Disposition为自定义头的key

response = HttpResponse(content=result, content_type="application/octet-stream", charset="utf-8")
                response['Content-Disposition'] = 'attachment; filename='+reports_name  # 自定义响应头
                response['Access-Control-Expose-Headers'] = "Content-Disposition"  # 通过此header允许前端访问 解决跨域后系统为了安全去掉自定义头
                return response

VUE前台

    // 下载文件
    downloadReport(e) {
      this.$axios({
        method: "post",
        url: this.$path + "tests/batteryReportDownload/",
        data: {
        }
      }).then(res => {
          let headers = res.headers;
          let fileName = headers["content-disposition"];  #获取自定义头
      });
    },
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容