Met 1 xmlhttprequest meerdere divs updaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoop Overmaat

Yoop Overmaat

26/08/2012 00:54:43
Quote Anchor link
Ik had de vraag of het mogelijk is of er meederdere divs up te daten zijn met 1 xmlhttprequest. Ik wilde 3divs updaten met een verschillende tijdsinterval van 3minuten, 5minuten & 1minuut.

Heb het met 2 parallelle requests geprobeerd maar dat werkt niet, het ene request stalled de ander. Had nog wat oudere scripts liggen & geprobeerd maar dat liep op niets uit.

Het geheel moet herschreven worden maar wat is de beste aanpak in dit geval?
 
PHP hulp

PHP hulp

25/01/2020 19:27:40
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

26/08/2012 09:08:23
Quote Anchor link
In principe zou het elkaar niet in de weg moeten zitten (als je async op true hebt staan), maar het is natuurlijk wel zo dat de responsetijd van ieder request kan verschillen.

Wat jij wilt is heel goed mogelijk als je met JSON werkt, en dan een teller bijhouden en die in je AJAX request meegeven, even heel in het kort:
In php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$response
= array('status' => true, 'div1' => 'Inhoud div1');
if ((int) $_GET['counter'] % 3 == 0) {
    $response['div2'] = 'Inhoud div2';
}

if ((int) $_GET['counter'] % 5 == 0) {
    $response['div3'] = 'Inhoud div3';
}

echo json_encode($response);
?>

Ik zie dat XMLHTTPRequest gebruikt dus plain JS, daar kun de JSON response parsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
obj = window.JSON.parse(xmlRequest.responseText;
document.getElementById('div1').innerHTML = obj.div1;

De rest kan je net als in PHP met de modulus wel bepalen (denk ik).

Zo niet, dan hoor ik het wel
 
Erwin H

Erwin H

26/08/2012 09:10:44
Quote Anchor link
Als je het echt alle drie wil doen in dezelfde request, dan laat je een teller meelopen bij elke call. Is het getal van de teller deelbaar door x (1/3/5) dan voer je die actie uit.
 
Yoop Overmaat

Yoop Overmaat

27/08/2012 21:22:45
Quote Anchor link
Bedankt voor je uitleg, ik zal er morgen mee aan het stoeien gaan.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.