JS/jQuery 获取 HTTPRequest 请求标头?
在JavaScript中,您可以使用XMLHttpRequest
对象或原生的fetch
API来发送HTTP请求。但是,出于安全原因,浏览器不允许JavaScript代码访问HTTP请求的标头,除了User-Agent
和Referer
之外。这是一个安全机制,以防止跨站点脚本攻击(XSS)。
如果您正在尝试获取响应的标头信息,您可以使用getResponseHeader()
和getAllResponseHeaders()
方法。
使用XMLHttpRequest
获取响应标头的示例代码:
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://example.com", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) { // 请求已完成
if (xhr.status === 200) { // 成功状态码
// 获取特定的响应标头
var contentType = xhr.getResponseHeader("Content-Type");
console.log(contentType);
// 获取所有的响应标头
var allHeaders = xhr.getAllResponseHeaders();
console.log(allHeaders);
}
}
};
xhr.send();
使用fetch
API获取响应标头的示例代码:
fetch("https://example.com")
.then(response => {
// 获取特定的响应标头
const contentType = response.headers.get('Content-Type');
console.log(contentType);
// 获取所有的响应标头
return response.headers.forEach(
(value, name) => console.log(name + ': ' + value)
);
})
.catch(error => console.error('There has been a problem with your fetch operation:', error));
请注意,以上代码中的URL和头信息都是示例,实际使用时需要替换为您的目标URL和需要获取的标头。
评论已关闭