从ajax调用重定向主窗口

我有一个ajax调用控制器来检查身份validation,当没有身份validation时,它会将调用发送到signin控制器,该控制器检查它是否是xhr请求。 如果是,它将包含page.redirect_to的rjs呈现到signin路径,并且主窗口被重定向到signin页面。 这在谷歌浏览器中完美无缺,但在Firefox中失败。

rjs文件中唯一的代码是:

page.redirect_to("http://localhost:3000/signin") 

正如我所说,它在chrome中完美运行但Firefox(v3.6)拒绝重定向主窗口。 有没有人对如何在Firefox中使用它有任何想法?

控制台中是否出现任何错误?

是不是更容易回应“js”并使用以下内容呈现js模板:

 window.location = "http://localhost:3000/signin" 

在一点切线上,你真的应该重定向到“localhost:3000”吗? 也许有一个不同的解决方案?

您可能需要处理来自ajax请求的响应并通过JavaScript重定向:

 window.location = urlToDirectTo; 

我想大多数浏览器都会重定向ajax请求本身,而不是重定向ajax请求的页面。 以下是详细说明解决方案的类似问题的答案 。