在使用 XMLHttpRequest 时,浏览器在遇到 401 响应时可能会弹出登录提示。为了抑制这种提示,可以在请求头中添加一个自定义的 Authorization 字段,以便浏览器不会误解为需要用户凭据。
以下是一个示例代码:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/api/data');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 401) {
// 处理 401 错误
} else if (xhr.status === 200) {
// 处理成功响应
}
}
};
xhr.send();
在这个示例中,我们使用了 Bearer
类型的 Authorization 字段,并将访问令牌添加到该字段中。这样,浏览器就不会误解为需要用户凭据,从而避免了弹出登录提示。
需要注意的是,这种方法并不能保证所有浏览器都不会弹出登录提示,因为浏览器的行为可能因实现而异。但是在大多数情况下,这种方法可以有效地抑制登录提示。
领取专属 10元无门槛券
手把手带您无忧上云