Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax nie dziala pod FF
kufalo
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
paziek
post
Post #2





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:

  1. <script>
  2.  
  3.  r=new XMLHttpRequest()
  4.  r.open('GET','gaga',false)
  5.  r.send(null)
  6.  alert(r.responseText)
  7.  //if(r.status == 200)alert(r.responseText)//warto korzystać z status, aby upewnić się, że plik, strona czy cokolwiek tam byś GETował dały nam dobrą odpowiedź, w tym przypadku "OK 200"
  8.  
  9. </script>


W synchronicznych XHR nie używasz onreadystatechange, bo .. jest synchroniczne - nie trzeba! (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 2.10.2025 - 19:16