Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [advAjax] Ładowanie alternatywnej strony w przypadku błędu
msulik
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 31.03.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Wyobraźmy sobie, że mamy taki link:
  1. <a href="mojSkrypt.php" onclick="return kliknieto(); ">Kliknij</a>

i funkcję:
  1. <script type="text/javascript">
  2. function kliknieto()
  3. {
  4. return advAJAX.get({
  5. url : 'http:/localhost/plik.txt',
  6. onSuccess : function (obj) { /* cos tam */ },
  7. onError : function (obj) { return true; }
  8. });
  9. }

Po kliknięciu wywołana zostanie funkcja "kliknieto()", która dokona advAjaksowego get i w przypadku powodzenia wstawi responseText do jakiejś warstwy. W przypadku błędu chciałbym, żeby strona przeładowała się do skryptu mojSkrypt.php.

Oczywiście powyższy sposób nie zadziała, bo metoda get nie zwraca tego, co mnie interesuje.


Wymyśliłem poniższy sposób, ale wydaje mi się, że jest trochę naokoło. Mianowicie, przekazuję funkcji "kliknieto" alternatywny link, a następnie, w przypadku advAjaksowego onError, przekierowuję przeglądarkę do tejże alternatywnej strony:
  1. <script type="text/javascript">
  2. function kliknieto(strAlternatywnyHref)
  3. {
  4. advAJAX.get({
  5. url : 'http:/localhost/plik.txt',
  6. onSuccess : function (obj) { /* cos tam */ },
  7. onError : function (obj) { document.location = strAlternatywnyHref; }
  8. });
  9. return false;
  10. }
  11. <a href="mojSkrypt.php" onclick="kliknieto(this.href); return false; ">Kliknij</a>


Zarówno link "mojSkrypt.php" jak i funkcja "kliknieto()" będą bardziej wyrafinowane, ale chodzi o ogólną ideę - moją intencją jest, aby strona zawierała elementy ajaksowe, ale w przypadku braku javascripta w przeglądarce lub jakichkolwiek błędów, ma zadziałać tradycyjne kliknięcie.

Powyższy sposób ma jeden mankament, poza estetyką - w przypadku błędu javascriptowego, np. jeśli na jakiejś przeglądarce coś nie zadziała, wówczas ani nie wyświetli się responseText, ani nie zostanie wywołany skrypt mojSkrypt.php, czyli użytkownik będzie klikał do upadłego i nic się nie wydarzy.

Będę wdzięczny za pomysły inne od zaprezentowanego powyżej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 15:42