Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]działa w Chrome, Operze, IE(!) a w Firefoksie nie, banalna funkcja
madrazel
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.08.2008

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. function post(params) {
  2. req=new XMLHttpRequest()
  3. req.open("POST","tutajplik.php",false)
  4.  
  5. req.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
  6. req.setRequestHeader("Content-length", params.length)
  7. req.setRequestHeader("Connection", "close")
  8.  
  9. req.onreadystatechange = function(){
  10. if(req.readyState == 4){
  11. response = req.responseText
  12. }
  13. }
  14. req.send(params)
  15. req.abort()
  16. return response
  17. }
  18.  
  19. alert(post2("param1=value1"))
[JAVASCRIPT] pobierz, plaintext


wszystkie przeglądarki wyrzucają okienko z html-em który przyszedł, natomiast FF albo nie reaguje albo 'undefined'
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
wszystkie przeglądarki wyrzucają okienko z html-em który przyszedł

Na wolniejszym łączu raczej wszystkie zgłupieją. (IMG:style_emoticons/default/winksmiley.jpg)

To jest dla jQuery, ale idea i rozwiązanie problemu identyczne: http://eriz.pcinside.pl/weblog/ajax-w-jque...script-218.html
Go to the top of the page
+Quote Post
madrazel
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.08.2008

Ostrzeżenie: (0%)
-----


co to znaczy zgłupieją, ja rozumiem że zatrzymają swoje działanie do czasu kiedy przyjdą dane, i tak ma tu być
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ja rozumiem że zatrzymają swoje działanie do czasu kiedy przyjdą dane

Właśnie o to chodzi, że NIE zatrzymają. XHR domyślnie wysyła żądanie w trybie asynchronicznym, czyli wykonywanie skryptu nie jest blokowane do czasu otrzymania danych.

Przeczytaj moją notkę, tam wszystko wyjaśniłem; nie ma sensu, żebym pisał drugi raz.
Go to the top of the page
+Quote Post
madrazel
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.08.2008

Ostrzeżenie: (0%)
-----


aj boziu droga, sam znalazłem to co chciałem, problem polega na tym że w zasadzie nie powinno się używać onreadystatechange w synchronicznym zapytaniu, teraz działa we wszystkim, a o IE 6 się nie martwię bo mam tą przeglądarkę już dawno gdzies

[JAVASCRIPT] pobierz, plaintext
  1. function post(params) {
  2. req=new XMLHttpRequest()
  3. req.open("POST","file.php",false)
  4. req.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
  5. req.setRequestHeader("Content-length", params.length)
  6. req.setRequestHeader("Connection", "close")
  7. req.send(params)
  8. return req.responseText
  9. }
  10.  
  11. alert(post("param=value"))
[JAVASCRIPT] pobierz, plaintext


Go to the top of the page
+Quote Post

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: 24.08.2025 - 13:32