在JavaScript中捕获302 FOUND的方法是使用XMLHttpRequest或Fetch API。这里我们将介绍使用Fetch API的方法。
Fetch API是一个现代化的、基于Promise的HTTP网络请求接口,它可以用于发起请求、获取响应以及处理HTTP请求和响应。
以下是一个使用Fetch API捕获302 FOUND的示例代码:
fetch('https://example.com/some-url', {
method: 'GET',
redirect: 'manual'
})
.then(response => {
if (response.status === 302) {
// 捕获到302 FOUND,处理响应
console.log('捕获到302 FOUND');
// 获取Location头部,以获取重定向的URL
const redirectUrl = response.headers.get('Location');
console.log('重定向URL:', redirectUrl);
} else {
// 其他状态码,处理响应
console.log('其他状态码:', response.status);
}
})
.catch(error => {
console.error('请求出错:', error);
});
在这个示例中,我们使用Fetch API发起一个GET请求,并将redirect
选项设置为manual
。这样,当服务器返回302 FOUND时,Fetch API不会自动跳转,而是将响应返回给我们处理。
在.then()
方法中,我们检查响应状态码是否为302,如果是,我们就可以获取重定向的URL,并进行相应的处理。如果不是302,我们可以处理其他状态码的响应。
如果请求出错,我们将在.catch()
方法中捕获错误并进行处理。
需要注意的是,Fetch API是一个现代化的接口,并不支持所有浏览器。如果需要兼容旧版浏览器,可以考虑使用XMLHttpRequest或其他第三方库。
领取专属 10元无门槛券
手把手带您无忧上云