【发布时间】:2014-05-13 06:20:30
【问题描述】:
我正在编写一个简单的页面来侦听 SignalR 事件,一旦检测到这些事件就会对我们服务器上的 Web 服务执行 ajax 请求。
一旦该 ajax 请求完成,将返回一个带有自定义 URI 方案的 url,一旦重定向到该方案,将打开安装在客户端计算机上的自定义程序,而无需离开主页。这是通过在ajax请求的成功回调中调用window.location = url;来实现的。
此方法适用于我们网站的其他区域,我们正在使用它,发出多个 ajax 请求并在回调中进行重定向,因为它应该通过向我们的程序发送命令而不影响主页。
然而,我正在创建的新页面使用 SignalR 来决定何时发出这些相同的 ajax 请求,但它在第一次重定向时会自行断开连接。我在 javascript 控制台中发现以下消息,我理解在卸载页面时看到该消息是很正常的,但在我的场景中,调用页面从未真正卸载:与 ... 的连接被中断,而页面正在加载。
我正在寻找一种方法来阻止 SignalR 在重定向时自行断开连接,因为这会导致进一步的重定向失败,直到 SignalR 重新建立连接。
【问题讨论】:
-
您是否尝试过明确设置
.url属性?如果未设置 SignalR 正在使用 window.location 来解析目标 url。 -
我刚刚尝试在javascript中设置信号连接的url,结果相同。到目前为止,我发现解决此问题的唯一方法是在我的页面上嵌入一个隐藏的 iframe,并改为设置 iframe 的
.href参数。
标签: javascript ajax signalr