Clicky

Skocz do zawartości


Zdjęcie
- - - - -

Ajax - przekierowania

1 odpowiedź w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 06 styczeń 2013 - 13:44

Cześć.

Robię request za pomocą ajaxa do postrony np: /ajax/sprawdz_mieszkanie/warszawa - w akcji dla tego kontrolera dokonuje wszelkich formalności (sprawdzanie parametrów, itd) - i załóżmy, że jakiś warunek się nie sprawdził i chciałbym użytkownika przekierować na stronę główną - Jak tego dokonać?

Ponieważ jak zastosuje zapis w stylu:
if ( !ORM::factory('miasta', $miasto)->loaded() )
  Request::$current->redirect(Route::url('404'));

to przekierowanie zrobi się w ajaxie - tak na prawdę użytkownika nie przekieruje na stronę główną - przekieruje TYLKO ten request ajaxowy, który utworzyłem. Wiem, że pewnie mógłbym zmodyfikować:
Request::$current->redirect(Route::url('404'));
na
exit('MAKE_REDIRECTION');

i później po stronie JS sprawdzić czy odpowiedź == 'MAKE_REDIRECTION' , ale czy jest inny sposób?

#2 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1583 postów
  • Skąd:Kielce

Napisano 06 styczeń 2013 - 14:15

Tak jak pisałeś na koniec. Wysyłasz ajaxem informację o błędzie, a skrypt robi przekierowanie.
Od zwykłego tekstu lepsze jest przesłanie formatu JSON. Można w nim zawrzeć więcej informacji, między innymi adres strony na którą JS ma zrobić przekierowanie, kod i komunikat błędu i takie tam.

OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych