从ajax调用重定向主窗口

时间:2011-08-16 09:17:12

标签: javascript ruby-on-rails ajax redirect rjs

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

rjs文件中唯一的代码是:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

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

window.location = urlToDirectTo;

我认为大多数浏览器都会重定向ajax请求本身,而不是重定向ajax请求的页面。 Here's an answer以类似问题详述解决方案。