![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli poprzez ajaxa nie chcę zmieniać elementów strony, a jedynie zmieniać zawartość jakiejś zmiennej w obiekcie np przechowującej wartości w formacie JSON to czy tylko mogę robić to synchronicznie?
próbowałem robić coś samodzielnie, potem skorzystałem z jQuery i zawsze miałem ten sam problem, że próba przypisania była wcześniej niż koniec wywołania żądania, nawet wtedy gdy akcję umieszałem w onsuccesc czy oncomplete wobec czegoś takiego zmieniłem tym żądania na synchroniczny i problemy się skończyły, ale czy da się zrobić tak, żeby 1)przypisanie było po zakończeniu żadania 2)przy okazji nie blokowało przeglądarki do czasu zakończenia żądania |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Trochę odkrywasz na nowo koło ponieważ można bardzo prosto
Kod $.ajax({
type: "POST", url: "test.php", dataType: "json", success:function(twojeDaneJson) { // tutaj robisz sobie z "twojeDaneJson" (ktorych nie musisz juz parsowac evalem) co chcesz } }); Ten post edytował wookieb 17.04.2009, 13:37:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzięki raz jeszcze, ale trochę nie rozumiem, albo coś źle widzę
zostańmy przy jQuery 1)zrobiłem sobie funkcję
zrobione jest to tak, aby np w jednym mieć wszystko, np obsługę wygaśnięcia sesji, obiekt HTML (diva) do którego wrzuć trzeba treść zmienioną itp itd 2)wywołuje to tak
wracając do podstawienia wyniku do zmiennej to gdy chcę np uzyskanego JSON-a przekazać do zmiennej to przy asynchronicznym jest błąd związany z tym, że nie funkcja wykonuje się wcześniej niz trzeba Funkcja COMPLETE wygląda tak
i na mój rozum powinna się wywołać już PO zakończeniu żądania - niestety tak nie jest przykładowa funkcja wywoływana w complete
sam prototyp wygląda tak
no i w powyższym gdy jest połączenie synchroniczne wszystko jest OK, gdy jest asynchroniczne wskakuje mi do else - a jest tak (na razie) zrobione, że zawsze coś zwraca i nie ma prawa wejść do else próbowałem różnych rzeczy, ale nic nie zadziało - w dalszym ciągu gdy jest asynchroniczonść to nie działa gdy jest synchronicznosć to działa - próbowałem to robić na succes, complete, kombinowałem z funkcjami, wyprowadzałem je na zwewnatrz (jako globalne a nie metody klasy) próbowałem funkcję ajax wywoływać na zewnątrz itp itd nic nie pomogło do tej pory może ktoś będzie miał jakiś pomysł? Ten post edytował juzwa 20.04.2009, 10:24:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 18:56 |