![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuje synchronicznie odpytac serwer Kod <script> r=new XMLHttpRequest() r.onreadystatechange=function(){if(r.readyState==4)alert(r.responseText)} r.open('GET','1.txt',false) r.send(null) </script> nie wiem czemu pod FF 3.0.1 nie dziala, pozostale wyswietlaja okienko alerta. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Obiekt XMLHttpRequest() nie jest uniwersalny dla wszystkich przeglądarek, więc może spróbuj użyć jQuery:
Kod <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript"> var GET = { init : function(){ var request = $.ajax({ url: "1.txt", async: false }).responseText; alert(request); } }; $(document).ready(function(){ GET.init(); }); </script> Ten post edytował nexis 21.07.2008, 10:15:10 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 1 Dołączył: 26.07.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
chyba Asynchronicznie
![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 9 Dołączył: 22.03.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@luciano chyba jednak synchronicznie - skrypt czeka aż dane się całe ściągną, asynchronicznie - nie.
@nexis Obiekt XMLHttpRequest() nie jest uniwersalny dla wszystkich przeglądarek nie no, bez jaj, rozmawiamy oo ff 3 ![]() nie zgubiłeś nawiasów klamrowych i średnika (opcjonalnie z tego co wiem) w IF? : r.onreadystatechange=function(){if(r.readyState==4)alert(r.responseText)} nie powinno być: r.onreadystatechange=function(){ if(r.readyState==4) { alert(r.responseText); } }; Aż dziw, że działa w innych, albo o czymś nie wiem... ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
JavaScript (i nie tylko) pozwala na opuszczanie nawiasów klamrowych, jeśli masz zamiar wykonać tylko jedno polecenie (tutaj akurat alert).
Ba, nowsze VM javascriptu pozwalają na opuszczanie nawiasów klamrowych w funkcjach (lambda). No i rozwiązanie problemu:
W synchronicznych XHR nie używasz onreadystatechange, bo .. jest synchroniczne - nie trzeba! ![]() http://developer.mozilla.org/en/docs/XMLHttpRequest Cytat Note: You should not provide an onreadystatechange handler for synchronous requests. If you do, versions of Firefox prior to version 3 call the handler anyway. Firefox 3 blocks until the request is completed (as in the example above). Firefox 2 provides the same behavior as long as you don't implement an onreadystatechange handler.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam, ja mam ten sam problem.
pod FF 3.x nie działa request = new XMLHttpRequest(); i teraz zonk bo nie wiem co zrobić... PS. Pierwszy raz cos działa porpawnie w IE a w FF nie ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
pod FF 3.x nie działa request = new XMLHttpRequest(); i teraz zonk bo nie wiem co zrobić... Uruchom proszę poniższy plik HTML pod Firefox 3.x:
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzieki za pomoc
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 06:48 |