![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
Teraz robię taką głupawkę, że po naciśnięciu przycisku najpierw idzie Ajax gdzie na podstawie parametrów tworzę plik na serwerze, a potem idzie normalny request gdzie w odpowiedzi zapisuję plik na dysku usera. Wolałbym to robić tylko ajaxem.
teraz jest tak:
i wcześniej ajax Problem polega na tym, że zdarza się że szybszy jest request "zwykły" a potem idzie ajax. Mogłoby tak zostać ale musiałbym jakoś zmusić by najpierw szedł ajax a po nim zwykły request. Muszę to robić ajaxem bo dane na podstawie którym mam wygenerować plik są widoczne tylko przez javascript Ten post edytował jhoihkjhkhnkh 23.08.2017, 11:57:18 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jak sobie wyobrazasz, ze skrypt php bedacy na serwerze zapisze sam z siebie plik na komputerze uzytkownika? Magic?
Cytat Problem polega na tym, że zdarza się że szybszy jest request "zwykły" a potem idzie ajax. Mogłoby tak zostać ale musiałbym jakoś zmusić by najpierw szedł ajax a po nim zwykły request. No to wysylaj zwykly request dopiero gdy AJAX sie skonczy. Masz przeciez zdarzenie onsuccess dla AJAXow i wiesz kiedy sie skonczyly
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
No to wysylaj zwykly request dopiero gdy AJAX sie skonczy. Masz przeciez zdarzenie onsuccess dla AJAXow i wiesz kiedy sie skonczyly zrobiłem tak:
przy debugowaniu widzę jak za drugim razem wpada w ten fragment kodu (który wcześniej skutecznie zapisywał plik na dysk usera) gdzie ustawiany jest header (i w trakcie debugowania widzę że ten plik istnieje na serwerze) ale finalnie nie zapisuje żadnego pliku na dysk usera. Ten post edytował jhoihkjhkhnkh 23.08.2017, 13:00:05 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Toz mowiles, ze drugi to jest zwykly request a teraz w kodzie widze ze drugi to jest tez ajax i na dodatek jakis dziwny :/
$.get( "//export()" ); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mówiłeś bym on success wysłał zwykły request, tom dodał ten $.get( "//export()" );
Aha, drugi request "zwykły" w sensie tu oba requesty są związane z tym samym przyciskiem (<a><button>) i to samo naciśnięcie wywołuje ajax a potem zwykły request bo w ajaxie nie wyłączam zachowania tego przycisku. Ten post edytował jhoihkjhkhnkh 23.08.2017, 13:38:06 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to wylacz zachowanie tego przycisku.
Drugi zwykly request (nie AJAX) masz zrobic dopiero gdy pierwszy (AJAX) sie zakonczy -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem
wysyłam drugi request gdy pierwszy się skończył (success) A jak wysłać zwykły request bez kolejnego klikania w bloku success? Ten post edytował jhoihkjhkhnkh 23.08.2017, 13:56:17 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
window.location.replace('?action=export');
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Pyton uzyl za duzego skrotu myslowego...
document.location.href='?action=exp'; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
allah akhbar, działa!
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 14.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
(edit: działa)
jasna cholera, lokalnie działa, ale na serwerze już nie. już wkleję całość by nie było wątpliwości
edit: zmieniłem <a href="" id="export"><button ></button></a> na <p id="export"></p> i chwilowo działa. Ten post edytował jhoihkjhkhnkh 23.08.2017, 16:25:47 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
$("#export").click(function (e) {
e.preventDefault(); |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:04 |