Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekierowanie po wykonaniu funkcji...
blackroger
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


W jaki sposób przekierować stronę dopiero po wykonaniu długiej funkcji php? Ładuje do diva poprzez ajaxa stronę z parametrami i funkcją. Funkcja ta wykonuje się, a później ma się po wykonaniu przekierować na inna strone...jak to zrobić? Nie chodzi mi tu o żadną funkcję php tj. register_shutdown_function(). Najlepszym rozwiązaniem byłoby gdyby jakis element miał onload="" wtedy wywołało by się przekierowanie z javascriptu. Wiem jednak że onload można stosować w tylko w body.
  1. <?php
  2. include_once('../www_eventful/main/main.php');
  3.  
  4. $var=start_search($keyword, $lastpage, $checkbox, $sort); //ta funkcja wykonuje sie dlugo
  5. if ($var==1){
  6.    echo 'Script executed with success. Go to \"verify\" tab.
  7. ';
  8.   tutaj jakis obiekt ktory po zaladowaniu przekieruje na inna strone...
  9. }
  10. ?>


Fragment kodu wywołującego funkcje na zdarzenie onclick(nie wiem czy potrzebne):
Kod
function start_search(){
     var keyword = document.getElementById('keyword').value;
     var lastpage = document.getElementById('lastpage').value;
     var checkbox = document.getElementById('checkbox').value;
     var sort = document.getElementById('sort').value;
    
     document.getElementById('start').style.display='none';

     url = 'searching.php?keyword='+keyword+'&lastpage='+lastpage+'&checkbox='+checkbox+'&sort='+sort;
     getData(url, 'content');//ładowanie ajaxem
     //search_progress();

}


Ten post edytował blackroger 21.12.2008, 21:56:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
wtedy wywołało by się przekierowanie z javascriptu. Wiem jednak że onload można stosować w tylko w body.

Nie tylko. winksmiley.jpg

Poza tym, jaki problem przekierować po pomyślnym wykonaniu żądania AJAX? window.location.replace() nie znasz? snitch.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
blackroger
post
Post #3





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


Sorry, że zadam to głupie pytanie ale jak ja mam się dowiedzieć, że php zakończył swoje działanie? Mogę odczytać powiedzmy wartość return wywołanej funkcji ale to się ma nijak do javy...bo ona musiałaby wtedy czekać aż php skończy...
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jak się ma nijak? Przecież jak wczytujesz dane przez AJAX, to gdy odbierzesz dane, to wywoływana jest bodajże metoda onSuccess.

No chyba, że wysyłasz kilka żądań, to wtedy wystarczy przy zakończeniu wypluwania danych wypisać wartość np. OK, koniec danych i w metodzie onSuccess sprawdzać, jeśli zwrócona przez serwer wartość równa się tej "magicznej" - przekierowanie.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 13:21