перенаправить на AJAX создать - PullRequest
0 голосов
/ 25 октября 2011

Можно ли перенаправить в другое место в контроллере во время обработки ajax?Я имею в виду, что я отправляю запрос AJAX, но во время его обработки в контроллере я обнаруживаю, что хочу отменить запрос ajax и перенаправить его в совершенно другое место.Я использую это в моей форме клиента.Это работает так: кто-то нажимает кнопку «Создать» в моей форме, он проверяет атрибуты формы через ajax, если они ошибаются, он возвращает ошибки, в противном случае он перенаправляет новому клиенту.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Я нашел что-то намного лучше, поэтому вот код, который вам нужно добавить в application_controller:

def redirect_to(options = {}, response_status = {})
  if request.xhr?
    render(:update) { |page| page.redirect_to(options) }
  else
    super(options, response_status)
  end 
end

и затем в действии используйте стандарт redirect_to

0 голосов
/ 25 октября 2011

Вы не можете перенаправить с контроллера, но после завершения проверки атрибутов вы возвращаете «success» при успешной проверке. Вы можете проверить в jquery, является ли значение успешным или нет. Для лучшего понимания обратитесь к следующему примеру.

$.post(
    "http://localhost/photo_tool/index.php/photo_tool/login",
    {
       username:$('#username').val(),
       password:$('#password').val()
    },
    function(result){
    if(result=='success')
    {   
      window.location.href = 'Your URL here';
      //You can also use window.location.replace("Your URL here");
    }
    else
    {
     $('#error').html(result);
    }
  });

В приведенном выше примере контроллер возвращает «success» при успешном входе в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...