javascript - 如何获取整个标题内容。 postman 和 axios 之间的区别

标签 javascript vue.js axios postman

我尝试使用 axios 获取 X-Auth-Token。 postman 返回给我:postman header

import axios from 'axios';
import qs from 'qs';

const API_URL="http://localhost:8080/api/1.0";

class DataService {
  login() {
    const data = {
      'login': 'xxxxx';
      'password': 'yyyyy';
    };
    const options = {
      "async": true,
      "crossDomain": true,
      method: 'POST',
      headers: {
        'Content-Type': "application/x-www-form-urlencoded"
      },
      data: qs.stringify(data),
      url: `${API_URL}/login`,
    };
    return axios(options);
  }
}

export default new DataService();

上面的脚本返回: console output

我想知道为什么 axios 不像 Postman 那样给我返回相同的内容?这取决于 CORS 吗?

最佳答案

对于 CORS 请求,浏览器默认只能访问以下响应 header :

  • 缓存控制
  • 内容语言
  • 内容类型
  • 过期
  • 最后修改时间
  • 编译指示

如果您希望客户端应用程序能够访问其他 header ,则需要设置 Access-Control-Expose-Headers服务器上的 header :

Access-Control-Expose-Headers: Access-Token, Uid

在nodejs中

...
const cors = require('cors');

const corsOptions = {
  exposedHeaders: 'Authorization',
};

app.use(cors(corsOptions));
...

如果您以以下方式发送响应
res.header('授权', "承载${token}").send();

关于javascript - 如何获取整个标题内容。 postman 和 axios 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59201493/

相关文章:

javascript - 按另一个索引数组对数组进行排序

javascript - 如何让 vue-google-charts 中的仪表图工作 - 替代方案?

css - Vue js 切换 css 类

javascript - React axios 多文件上传

javascript - firebase 查询方法 startAt() 采用区分大小写的参数

javascript - 如何使 Html 表格列可编辑?

javascript - 在 Backbone Marionette 中获取带有查询参数的当前 URL

vue.js - 为什么 console.log 在 Vue.js 中不起作用?

reactjs - axios不向后端发送post数据

javascript - Foursquare Places API for Venue Search axios 和浏览器响应的区别