Longpolling met jQuery

Gestart doorCalvin5 reacties47 weergaven

6 berichten · pagina 1 van 1

Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal,

Voor de mensen die niet weten wat het inhoud:
Longpolling is dat je in realtime nieuwe gegevens ophaalt uit de database, dit geheel zonder te refreshen. Facebook gebruikt dit dus ook, om te zeggen dat iemand je foto leuk vindt, of als je een bericht hebt.

Op het moment heb ik dit:

function GetInbox() {
    $.get("test.php", {},
    function(data) {
        $("div#lol").html(data);
        GetInbox(); // then launch again
    });
};


In test.php wordt gewoon een query gemaakt naar de database die gegevens ophaalt.
Deze code werkt half. Ja.. hij haalt gegevens in realtime op zodra ik iets insert in de database.
En nee.. want deze functie zorgt ervoor dat mijn IP wordt geblokkeerd door versio, teveel requests.. Dus weet iemand een simpele longpolling manier via jquery die het liefst realtime is, maar toch niet zwaar is voor de database.

Ik heb veel gezocht op google, maar ik geen gewenste resultaten.
0
Berichten
832
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Gewoon met een interval werken op 10-20sec, dat zou niet erg zwaar moeten zijn, op deze manier voert hij het tot wel 100 keer per seconde uit.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Gebruik websockets, of gebruik iets wat hier op lijkt:

(function poll(){
    $.ajax({ url: "server", success: function(data){
        //Update your dashboard gauge
        salesGauge.setValue(data.value);

    }, dataType: "json", complete: poll, timeout: 30000 });
})();


Een timeout dus wink
0
Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Gebruik websockets, of gebruik iets wat hier op lijkt:
(function poll(){
    $.ajax({ url: "server", success: function(data){
        //Update your dashboard gauge
        salesGauge.setValue(data.value);

    }, dataType: "json", complete: poll, timeout: 30000 });
})();


Een timeout dus wink
Wat is salesGauge.setValue(data.value)?
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dan zou ik eerder voor sockets gaan.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Calvin schreef:
Eerdere citaten tonen
Rik schreef:
Gebruik websockets, of gebruik iets wat hier op lijkt:
(function poll(){
    $.ajax({ url: "server", success: function(data){
        //Update your dashboard gauge
        salesGauge.setValue(data.value);

    }, dataType: "json", complete: poll, timeout: 30000 });
})();


Een timeout dus wink
Wat is salesGauge.setValue(data.value)?

Dat is een stukje code wat bij een artikel stons over longpolling. 1e hit google. Kan je gewoon weghalen dus.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren