http 302重定向
错误打开新窗口
function openWindow() {
const URL = "192.168.1.1:8080";
window.open(URL, name, features, replace);
}
如果是使用浏览器默认的打开新窗口, 会被浏览器定义为重定向的跳转, 也有可能是被浏览器定义为广告等操作.
正确打开新窗口
openUrl(url: string, id: string) {
const a = document.createElement('a')
a.setAttribute('href', url)
a.setAttribute('target', '_blank')
a.setAttribute('id', id)
if (!document.getElementById(id)) document.body.appendChild(a)
a.click()
}
如果使用上面模拟鼠标事件进行点击, 在内网进行多个 ip 映射穿透等操作都不会出现 302 跳转导致无法访问接口.
刷新原始页面请求接口 302
如果 nginx 配置出现 302 问题, 一般都是因为反向代理的问题, 前端 location /接口下的 proxy 名称必须是上面服务器的代理 IP 地址. 前端访问代理的名称不对.