Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]działa w Chrome, Operze, IE(!) a w Firefoksie nie
Forum PHP.pl > Forum > Przedszkole
madrazel
[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'
erix
Cytat
wszystkie przeglądarki wyrzucają okienko z html-em który przyszedł

Na wolniejszym łączu raczej wszystkie zgłupieją. winksmiley.jpg

To jest dla jQuery, ale idea i rozwiązanie problemu identyczne: http://eriz.pcinside.pl/weblog/ajax-w-jque...script-218.html
madrazel
co to znaczy zgłupieją, ja rozumiem że zatrzymają swoje działanie do czasu kiedy przyjdą dane, i tak ma tu być
erix
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.
madrazel
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


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.