Access-Control-Expose-Headers 响应报头、跨域 公开响应头

问题现象: 前端无法获取响应头 Response Header 原因

问题原因:跨域问题 启用跨域请求(CORS)

前后端分离的项目,前端地址与后端地址不同,出现了跨域问题,因此 前端人员拿取不到后端返回的Response.headers.自定义的响应头 “X-Check-Submit-Repeat”(只能拿到默认的标头)

在使用CORS方式跨域时,浏览器只会返回 默认的头部 Header,认情况下可用的响应头包括:

Cache-Control

Content-Language

Content-Type

Expires

Last-Modified

Pragma

CORS规范将这些头称为 简单响应头 。要使用其他头可用于应用,请调用 WithExposedHeaders(String[]) 方法,设置 公开 (后端代码可看下方链接)。

这样响应头就会显示 Access-Control-Expose-Headers :…自定义头…

接着前端就能拿到里面的自定义响应头了。

Access-Control-Expose-Headers响应报头

简介

Access-Control-Expose-Headers 响应报头 指示哪些报头可以 公开 为通过列出他们的名字的响应的一部分

默认情况下,只显示6个简单的响应头,在上方也有介绍。

如果你想要客户端能够访问其他的请求头,则必须使用Access-Control-Expose-Headers 列出他们。

        res.header("Authorization", token)
res.setHeader("Access-Control-Expose-Headers", "Authorization")

这里的setHeader和直接写header都是一样的,写setHeader和header都可以实现,还有就是这两行代码不需要管先后顺序

axios响应拦截器无法显示响应头问题的更多相关文章

  1. axios请求响应拦截器的应用

    什么是axios拦截器? 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器. 请求拦截器在请求发送前进行必要操作处理 例如添加统一cookie.请求体加验证.设置请求头 ...

  2. vue axios请求/响应拦截器

    // main.js中配置 // 引入 axios import Axios from 'axios' // 这时候如果在其它的组件中,是无法使用 axios 命令的. // 但如果将 axios 改 ...

  3. 快速了解AngularJs HTTP响应拦截器

    任何时候,如果我们想要为请求添加全局功能,例如身份认证.错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段. angularJs通过拦截器提供了一个从全局层面进行处理的途 ...

  4. [代码笔记]VUE路由根据返回状态判断添加响应拦截器

    //返回状态判断(添加响应拦截器) Axios.interceptors.response.use( res => { //对响应数据做些事 if (res.data && !r ...

  5. 【转】AngularJs HTTP请求响应拦截器

    任何时候,如果我们想要为请求添加全局功能,例如身份认证.错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段. angularJs通过拦截器提供了一个从全局层面进行处理的途 ...

  6. AngularJs HTTP响应拦截器实现登陆、权限校验

    $httpAngularJS 的 $http 服务允许我们通过发送 HTTP 请求方式与后台进行通信.在某些情况下,我们希望可以俘获所有的请求,并且在将其发送到服务端之前进行操作.还有一些情况是,我们 ...

  7. axios请求,拦截器的使用

    1. axios 创建请求 import axios from 'axios' import {Message} from 'element-ui' import router from " ...

  8. Axios使用拦截器全局处理请求重试

    Axios拦截器 Axios提供了拦截器的接口,让我们能够全局处理请求和响应.Axios拦截器会在Promise的then和catch调用前拦截到. 请求拦截示例 axios.interceptors ...

  9. axios 基于拦截器的取消(重复)请求

    axios 基于拦截器的取消(重复)请求 // 添加请求拦截器 axios.interceptors.request.use((config) => { // 准备发请求之前, 取消未完成的请求 ...

  10. axios的拦截器(Interceptors)

    axios 的拦截器:interceptors 如果我们想在请求之前做点什么,用拦截器再好不过了 拦截器一般做什么? 1. 修改请求头的一些配置项 2. 给请求的过程添加一些请求的图标 3. 给请求添 ...

随机推荐

  1. 微信小程序分类菜单激活状态跟随列表滚动自动切换

    这里主要用到微信小程序提供的SelectorQuery获取页面节点信息实现,组件用的是微信小程序的scroll-view 逻辑就是获取右侧盒子的节点信息,获取右侧子分类的节点信息,当子分类滑动到顶部的 ...

  2. 原生微信小程序的一些注意点

    1.微信小程序的数据更新 Page({ // 响应式的数据定义在data里面 data: { bannerList: [] }, // 微信小程序的数据更新是在setData里面做的 this.set ...

  3. Diffusers库的初识及使用

    diffusers库的目标是: 将扩散模型(diffusion models)集中到一个单一且长期维护的项目中 以公众可访问的方式复现高影响力的机器学习系统,如DALLE.Imagen等 让开发人员可 ...

  4. 2013-12-2 ISBN号码

    问题描述 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包 ...

  5. Linux提权之:利用capabilities提权

    Linux提权之:利用capabilities提权 目录 Linux提权之:利用capabilities提权 1 背景 2 Capabilities机制 3 线程与文件的capabilities 3. ...

  6. aspnetcore读取配置【源码分析】

    总的逻辑 继承 IConfigurationSource 这个接口的子类是配置源 ,其中的build方法,创建并返回对应的ConfigurationProvider. 继承 IConfiguratio ...

  7. vue ie11 缺少 ':' html

    IE11 用vue 出现这错 怎么处理啊 ,用的html页做的 ,没用脚手架这类的东西 vue本身在没有babel做降级的情况下没法在IE上跑的,配个babel,还有polyfill这两个加上就好了 ...

  8. python基础语法图

  9. 《HelloGitHub》第 83 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  10. Linux操作命令(一)1.ls命令 2.cd命令 3.pwd命令

    1.ls 命令 ls 命令就是 list 的缩写, ls 用来打印出当前目录的清单. 参数 描述 -a –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -l 除了文件名之外,还将文件的权限 ...