我尝试使用 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/