Перенаправление основного окна с вызова ajax - PullRequest
1 голос
/ 16 августа 2011

У меня есть ajax-вызов к контроллеру, который проверяет аутентификацию, когда аутентификация не выполняется, он отправляет вызов дальше контроллеру входа, который проверяет, является ли это запросом xhr. Если это так, он отображает rjs, содержащие page.redirect_to, к пути входа, а главное окно перенаправляется на страницу входа. Это работает безупречно в Google Chrome, но не работает в Firefox.

единственный код в файле rjs:

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

Как я уже сказал, он работает безупречно в Chrome, но Firefox (v3.6) отказывается перенаправлять главное окно. У кого-нибудь есть идеи относительно того, как я могу заставить это работать в Firefox также?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Возможно, вам понадобится обработать ответ на запрос ajax и перенаправить через JavaScript:

window.location = urlToDirectTo;

Я думаю, что большинство браузеров перенаправляют сам запрос ajax, а не страницу, с которой был сделан запрос ajax. Вот ответ на аналогичный вопрос, в котором подробно описано решение.

1 голос
/ 16 августа 2011

Есть ли какие-либо ошибки в консоли?

Не проще ли ответить на "js" и отобразить шаблон js примерно так:

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

Немного касательно, действительно ли вы должны в любом случае перенаправить на "localhost: 3000"? Может быть, есть другое решение?

...