获取响应中缺少标头
我需要做一个CORS post request
。我需要使用fetch
,因为axios
的response
已处理为json。
但在fetch
响应中,headers
为空。但我不认为这是服务器问题,因为axios
响应头具有我想要的值。
有什么窍门吗?
fetch('http://localhost:9876/test/sample-download', {
method: 'post',
headers: {},
body: {}
})
.then(response => {
console.log(response);
})
.catch(err => console.error(err));
axios.post('http://localhost:9876/test/sample-download', {}, {})
.then(response => console.log(response))
.catch(error => console.error(error));
解决方案
FETCH返回的Headers类实例是iterable,而不是AXIOS返回这样的普通对象。一些可迭代的数据,如Header或URLSearchParams,不能从控制台查看,您必须迭代它并对每个元素进行console.log,如:
fetch('http://localhost:9876/test/sample-download', {
method: 'post',
headers: {},
body: {}
})
.then(response => {
// Inspect the headers in the response
response.headers.forEach(console.log);
// OR you can do this
for(let entry of response.headers.entries()) {
console.log(entry);
}
})
.catch(err => console.error(err));
相关文章