Ik probeer een 'progressbar' te maken in JQuery welke bij houd hoelang een bepaalde PHP functie uitgevoerd wordt (en hoever hij is natuurlijk).
Om dit te realiseren heb ik één Ajax request die de complexe functie uitvoert(roept een PHP functie aan die 20 plaatjes wegschrijft een aanpast) en een 'updateStatus' functie waarin een ajax request zit die kijkt hoever de PHP functie is en de progressbar update.
De code in JQuery is hieronder te zien:
PHP stukje:
Het probleem is nu dat het de eerste keer goed, maar de 2e keer komt hij niet verder dan 'Update init!".
Dit is de log vanuit Javascript:
Hierna blijft hij alleen nog maar 'try again' en 'Update init' loggen maar komt hij nooit meer bij Start.
Op internet las ik vooral dat dit aan de cache property lag, maar die heb ik op false gezet.
ALs iemand een antwoord heeft krijgt hij een virtueel bosje bloemen
Alvast bedankt.
Om dit te realiseren heb ik één Ajax request die de complexe functie uitvoert(roept een PHP functie aan die 20 plaatjes wegschrijft een aanpast) en een 'updateStatus' functie waarin een ajax request zit die kijkt hoever de PHP functie is en de progressbar update.
De code in JQuery is hieronder te zien:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| function updateStatus() { var pbValue = 0; console.dir("Update init!"); $.ajax({ cache : false, url : '../../getCurrentProcessStatus/', success : function(data) { console.dir("Start!"); var data = jQuery.parseJSON(data); var current = data.current; var max = data.max; console.dir(current); var stepBy = 100 / max; pbValue = current * stepBy; $('#orderprogress').progressbar({ value : pbValue }); if (pbValue < 100) { console.dir("try again!"); setInterval(updateStatus, 1000); } } }); } |
PHP stukje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| public function getCurrentProcessStatus() { $this -> autoRender = false; $status['current'] = 10; $status['max'] = 20; echo json_encode($status); } |
Het probleem is nu dat het de eerste keer goed, maar de 2e keer komt hij niet verder dan 'Update init!".
Dit is de log vanuit Javascript:
code:
1
2
3
4
5
6
7
8
9
| 1) Update init! 2) Start! 3) 10 4) try again! 5) Update init! |
Hierna blijft hij alleen nog maar 'try again' en 'Update init' loggen maar komt hij nooit meer bij Start.
Op internet las ik vooral dat dit aan de cache property lag, maar die heb ik op false gezet.
ALs iemand een antwoord heeft krijgt hij een virtueel bosje bloemen