Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX] Skrypt szybszy niż Ajax?, ... no to problem...
Babcia@Stefa
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, mam Sobię kod:

Kod
var XMLHttpRequestObject = false;
var Globalresponse;

if(window.XMLHttpRequest){
  XMLHttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject){
  XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function pobierzDane(dest)
{
  if(XMLHttpRequestObject){
    XMLHttpRequestObject.open("GET", dest);
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if(XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200){
        Globalresponse = XMLHttpRequestObject.responseText;
      }
    }
    XMLHttpRequestObject.send(null);
  }
}


function Vote ( mode, object )
{
    pobierzDane ('vote.php?id='+object.id+'&option='+mode);
    var src = Globalresponse;
    alert ( src );

    if ( isInteger(Response.parseInt()) )
    {
        switch ( mode )
        {
            case 1:
                document.getElementById('votebar_'+object.id).innerHTML = 'Dziękujemy';
            break;
            
            case 2:
                document.getElementById('votebar_'+object.id).innerHTML = 'Dziękujemy';
            break;
        }
    }
}


Problem jest taki:
1. Wywołuję pobierzDane ('vote.php?id='+object.id+'&option='+mode);
2. Globalresponse = XMLHttpRequestObject.responseText; - jest niby zapisane w Globalresponse
3. Ale gdy przyjdzie to sprawdzić ( var src = Globalresponse; alert ( src ); ) to nic nie jest zapisane...

Zapisywanie jest z opóźnieniem, tzn. tak jak by skrypt pomijał ajaxa, i za chwilę do niego wracał... czyli:
1. Wywołuje pobierzDane
3. Sprawdza
2. Zapisuje

Proszę o pomoc.

Pozdrawiam, WebNuLL


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
erix
post
Post #2





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




Użyj żądania synchronicznego.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Dzięki, ale jak tego dokonać bez jQuery?

W Google jQuery to jakaś plaga na temat żądań asynchronicznych sadsmiley02.gif

@edit

Znalazłem http://forum.php.pl/index.php?s=&showt...st&p=504700, ale nie wiem jak zastosować..

Pozdrawiam, WebNuLL

Ten post edytował Babcia@Stefa 2.07.2009, 21:03:22


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
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




Przecież post niżej miałeś odpowiedź - to nie zadziała.

http://pl.lmgtfy.com/?q=ajax+synchronous


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 09:29