首页 > 解决方案 > 使用 JavaScript AJAX 调用多个 URL

问题描述

我有一个应用程序可以生成一个超链接,用户可以单击该超链接并自动登录到单击的链接。例如,超链接是这样的https://www.externalapp.com/something/something/something

当用户点击上面的链接时,如果他之前没有与该应用程序 ( www.externalapp.com ) 的打开会话,他将根据某种 SSO 自动登录到该应用程序。但是,如果用户已经登录,则会提示他不支持多会话,因此他必须注销,然后重新登录。所以我的问题是我可以使用 Ajax,所以当用户点击超链接时,首先调用
https://www.externalapp.com/logout,然后
调用实际的 URL
https://www.externalapp.com/something/something /某物

如果是这样,您能否提供一个示例 javascript 来做到这一点?

标签: javascriptajax

解决方案


如果没有在服务器上设置 COR 标头,您将无法进行 XHR 跨域。我会先检查外部应用程序的注销 url 是否接受重定向参数。他们经常这样做。如果是这样,只需将链接更改为注销 + 重定向参数集。如果这不可能,您可以在 iFrame 中加载注销屏幕,然后在几秒钟后通过 setTimeout 重定向到登录屏幕。不幸的是,如果 x-frame-options 标头被限制性地设置,浏览器也不会允许这样做。


推荐阅读