![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Witam. Stworzyłem sobie stronkę z wykorzystaniem czystego XMLHttpRequest. Beż żadnych bibliotek.
Między innymi mam coś takiego: Kod function getXMLHttpRequest() { var request = false; try { request = new XMLHttpRequest(); } catch(err1) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(err2) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch(err3) { request = false; } } } return request; } var r; r = getXMLHttpRequest(); function processResponse() { if (r.readyState == 4) { if (r.status == 200) { document.getElementById('glownaczesc').innerHTML = r.responseText; } } } I po kliknięciu w coś mam powiedzmy: Kod function wczytaj(funkcja) { r.open('GET', 'wyswietl.php?funkcja='+funkcja, true); r.onreadystatechange = processResponse; r.send(null); } Wszystko działa elegancko jednak problem pojawia się, gdy mam powiedzmy dwa przyciski, które maja za zadanie wczytać w document.getElementById('glownaczesc').innerHTML dwie różne rzeczy. Klikam powiedzmy w pierszy przycisk, wczytuje się, jednak gdy nie poczekam aż się wczyta i kliknę w drugi przycisk, to wczytywanie leci w nieskończoność :/ Można coś z tym zrobić bez używania jakiś bibliotek, bo chyba nie ma sensu w moim przypadku. Z góry dzięki za pomoc. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 6 Dołączył: 24.07.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja bym polecał jednak coś sprawdzonego : jQuery lub Prototype. Te biblioteki są naprawdę łatwe w obsłudze i dobrze udokumentowane.
Natomiast jeśli nadal upierasz się przy swoim kodzie to proponowałbym tworzenie obiektu XMLHttpRequest przy każdym wywołaniu funkcji wczytaj. Teraz działa to u ciebie tak że zawsze działasz na jednym obiekcie przez co np. klikając na przycisk1 i zaraz potem przycisk2 , zapytanie które poszło po kliknieciu na przycisk1 zostaje przerwane i leci zapytanie z przycisku2. Nie zdarzyło mi się natomiast wczytywanie w nieskończoność, gdy próbowałem twój kod. -------------------- App 4 You - Aplikacje internetowe
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Cytat Teraz działa to u ciebie tak że zawsze działasz na jednym obiekcie przez co np. klikając na przycisk1 i zaraz potem przycisk2 , zapytanie które poszło po kliknieciu na przycisk1 zostaje przerwane i leci zapytanie z przycisku2. Nie zdarzyło mi się natomiast wczytywanie w nieskończoność, gdy próbowałem twój kod. Ja właśnie bym chciał, aby przerywało połączenie i zaczęło nowe. A teraz, to mi naprawdę wczytuje w nieskończoność. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:50 |