Klopt. TR Gemacht.quote:
Ik zorg gewoon voor no-cache headers bij JSON requests.quote:Op woensdag 11 september 2013 15:34 schreef Catch22- het volgende:
ik pleur er vrijwel _altijd_ een anti-cache parameter bij in
JSON en jQuery zijn toch wel de moeite waard hoor. Zou je script er (enigszins vereenvoudigd) ongeveer zo uitzien:quote:Op woensdag 11 september 2013 15:09 schreef Skunk-m het volgende:
weet niet hoe dat werkt dat JSON.. en jquery dan snap ik er helemaal niks meer van.
1 2 3 4 5 6 7 | function newmess(){ $.getJSON("shout/getshouts.php",{'id': id}, function(data){ $("#hoelang").html(data.hoelang); $("#shout").prepend(data.shout); setTimeout(newmess,1000); }); } |
do as I say, not as I do.quote:
Ik snap je punt. Hoe zou jij dit probleem tackelen? Of zou je het probleem helemaal omzeilen?quote:Op woensdag 11 september 2013 10:51 schreef Tijn het volgende:
[..]
Het levert geen robuust programma op. Je moet code schrijven die je kunt vertrouwen. Als je je variabelen niet onder controle hebt, wordt het ontzettend complex om het overzicht te houden naarmate je programma groeit.
jQuery is fantastisch. Met jQuery kan ik bijna alles, terwijl m'n JS kennis heel beperkt is.quote:
Ik begrijp niet helemaal waarom je überhaupt het probleem hebt dat die functie "te vaak" wordt aangeroepen. Waarom zou dat gebeuren?quote:Op woensdag 11 september 2013 19:48 schreef pascal08 het volgende:
[..]
Ik snap je punt. Hoe zou jij dit probleem tackelen? Of zou je het probleem helemaal omzeilen?
Het gaat om een aantal inputs die als filter voor een tabel fungeren. Die tabel wordt bij elke jQuery.change() geüpdatet door middel van AJAX. Ik probeer de requests een soort van te pipelinen, zodat de server niet continu wordt bestookt met requests wanneer het niet nodig is.quote:Op woensdag 11 september 2013 19:55 schreef Tijn het volgende:
[..]
Ik begrijp niet helemaal waarom je überhaupt het probleem hebt dat die functie "te vaak" wordt aangeroepen. Waarom zou dat gebeuren?
Een soort dynamische filters op tabellen ?quote:Op woensdag 11 september 2013 20:01 schreef pascal08 het volgende:
[..]
Het gaat om een aantal inputs die als filter voor een tabel fungeren. Die tabel wordt bij elke jQuery.change() geüpdatet door middel van AJAX. Ik probeer de requests een soort van te pipelinen, zodat de server niet continu wordt bestookt met requests wanneer het niet nodig is.
Exact.quote:Op woensdag 11 september 2013 20:03 schreef Scorpie het volgende:
[..]
Een soort dynamische filters op tabellen ?
Set dan een delay op je invoervelden, dat er na een change 300 of 500 ms gewacht wordt voordat de functie afgaat.quote:
Ik heb het eerst op die manier gedaan, maar ik vond de filters niet snel genoeg aanvoelen. De tabel wordt ook niet geüpdatet bij keyup maar bij change, dus ofwel de enter moet indrukt worden of er moet buiten het veld geklikt worden. Zo'n delay heb ik wel toegepast op een naam filter die bij elke keyup een request stuurt.quote:Op woensdag 11 september 2013 20:05 schreef Scorpie het volgende:
[..]
Set dan een delay op je invoervelden, dat er na een change 300 of 500 ms gewacht wordt voordat de functie afgaat.
Zolang er geen performance-problemen zijn, zou ik me er niet zo druk over maken.quote:Op woensdag 11 september 2013 20:01 schreef pascal08 het volgende:
[..]
Het gaat om een aantal inputs die als filter voor een tabel fungeren. Die tabel wordt bij elke jQuery.change() geüpdatet door middel van AJAX. Ik probeer de requests een soort van te pipelinen, zodat de server niet continu wordt bestookt met requests wanneer het niet nodig is.
Dan heb ik nog een vraag voor je: in die functie wordt een andere functie van een plugin (dataTables) aangeroepen. Stel ik noem mijn table: oTable1, dan refresh ik m'n tabel met: oTable1.fnDraw(). Stel ik verander m'n tabelnaam, dan moet ik overal die functie anders aanroepen. Wat is daar een goede oplossing voor? Gewoon de functie in een andere functie stoppen?quote:Op woensdag 11 september 2013 20:31 schreef Tijn het volgende:
[..]
Zolang er geen performance-problemen zijn, zou ik me er niet zo druk over maken.
Uhm, het is een jQuery element(?) opgeslagen in een variabele. Zoiets als:quote:
1 | var oTable1 = $('#id').dataTables(); |
Oké, dus jij "zegt": "Sloop die timeout van de functie eruit en roep de refresh gewoon op de traditionele manier aan: oTable.fnDraw();". Toch?quote:Op donderdag 12 september 2013 16:37 schreef Tijn het volgende:
Daar ga je gewoon mee om zoals elke variabele toch? Als je een andere variabele van naam verandert, moet je ook overal in je code waar deze variabele wordt gebruikt de naam veranderen.
Ik snap de vraag niet echt
Dit klinkt nogal verontrustend. Moet ik me zorgen gaan maken?quote:Op donderdag 12 september 2013 17:06 schreef Catch22- het volgende:
Ik hoop dat je beter begrijpt wat je aan het doen bent dan ik...
Gooi je code eens op jsfiddle, volgens mij maak je alles veel te moeilijkquote:Op donderdag 12 september 2013 17:20 schreef pascal08 het volgende:
[..]
Dit klinkt nogal verontrustend. Moet ik me zorgen gaan maken?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |