gpt4 book ai didi

angular - 从 Angular 4.3+ 的 302(重定向)响应中检索 header

转载 作者:太空狗 更新时间:2023-10-29 17:08:01 26 4
gpt4 key购买 nike

对于 SPA 应用程序,您显然需要在使用 JWT 时使用隐式授权。这很好,但是,我可以检索此 JWT 的唯一方法是使用包含特定信息(客户端 ID、 token 类型等)的有效负载或 url 参数发出 POST 或 GET 请求。端点(成功时)以 302 状态和包含我发出 API 请求所需的访问 token 的 Location header 响应。

据我目前所见,Angular 中似乎没有拦截 302 重定向的方法。我已经尝试创建自己的拦截器服务(我得到的最接近的是页面重定向后的 200 响应)。

我尝试在我的 get/post 请求中添加“observe: 'response'”选项,但 Location header 仍然不存在,并且它从不显示 302(即使我可以在我的调试控制台中看到它)。

我已验证这不是 CORS 问题,因为在代理上,公开 header 选项设置为位置值。

要使其正常工作,我唯一能做的就是使用 iframe 并在 iframe 上监听重定向。但我不想这样做,因为它很笨重而且并不总是可靠。

谁能告诉我有没有办法使用 Angular 的 Httpclient 捕获、拦截或查看 GET/POST 请求的 302 响应中的位置 header ?我可以下载某种插件或节点模块来帮助我实现这一目标吗?

最佳答案

302 状态代码 - URL 重定向将由浏览器直接处理。Angular2 http 客户端不会收到此事件。

尝试使用 Jquery 脚本调用

$.ajax({
url: "service call URL",
dataType: "script",
crossDomain: true,//if needed
statusCode: {
302: function() {
alert( "redirect" );
}
}
success: function(){}
});

http://api.jquery.com/jquery.ajax/

statusCode部分

关于angular - 从 Angular 4.3+ 的 302(重定向)响应中检索 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49125423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com