login  Naam:   Wachtwoord: 
Registreer je!
 Forum

AJAX Progressbar script

Offline Maffiow - 05/01/2008 05:46 (laatste wijziging 05/01/2008 05:47)
Avatar van MaffiowPHP interesse http://www.plaatscode.be/4800/ progress.js

http://www.plaatscode.be/4801/ progressbar.php

http://www.plaatscode.be/4802/ index.htm

Nu krijg ik in m'n debug van firefox deze melding:

GET http://mike.vir...ask=create (63ms)progress.js (line 41)
Loading...
GET http://mike.vir...=undefined (78ms)progress.js (line 59)
Loading...
response has no properties
pollCallback()progress.js (line 67)
[Break on this error] var percent_complete = response.getElementsByTagName("percent")[0].firstChild...
progress.js (line 67)

en in m'n ie7:

regel: 68
teken: 4
fout: object vereist

iemand enig idee.. ik zie het niet..

8 antwoorden

Gesponsorde links
Offline lemoinet - 05/01/2008 11:19
Avatar van lemoinet PHP gevorderde fout ligt aan php-script

  1. <?php
  2.  
  3. /**
  4.  * @author Maffiow
  5.  * @copyright 2008
  6.  * @title: AJAX Progressbar V 1.0
  7.  *
  8.  * @date: 05/01/2008
  9.  */
  10.  
  11. $refresh = new ProgressBar();
  12. $refresh->sendHeaders();
  13. $result = $refresh->getResults();
  14.  
  15. echo $result;
  16.  
  17. //class ProgressBar aanmaken
  18. class ProgressBar {
  19.  
  20. private $task;
  21.  
  22. function ProgressBar() {
  23. $this->task = $_GET['task'];
  24. }
  25.  
  26. function sendHeaders(){
  27. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  28. header('Content-type: text/xml');
  29. }
  30.  
  31. function getResults(){
  32. $res = "";
  33.  
  34. if($this->task == "create"){
  35. $res = "<key>1</key>";
  36. $_SESSION['counter'] = 1;
  37. }
  38. else {
  39. $counter = $_SESSION['counter'];
  40. $percent = "";
  41. switch ($counter){
  42. case 1 : $percent = "10"; break;
  43. case 2 : $percent = "23"; break;
  44. case 3 : $percent = "35"; break;
  45. case 4 : $percent = "51"; break;
  46. case 5 : $percent = "64"; break;
  47. case 6 : $percent = "73"; break;
  48. case 7 : $percent = "89"; break;
  49. case 8 : $percent = "100"; break;
  50. }
  51. $_SESSION['counter']++;
  52.  
  53. $res = "<response><percent>$percent</percent></response>";
  54. }
  55. return $res;
  56. }
  57. }
  58.  
  59. ?>
Offline Maffiow - 05/01/2008 18:05 (laatste wijziging 05/01/2008 18:14)
Avatar van Maffiow PHP interesse krijg nog steeds hetzelfde

die var response geeft nog geen fout maar die var percent_complete wel..

  1. function pollCallback()
  2. {
  3. if (xmlHttp.readyState == 4){
  4. if (xmlHttp.status == 200){
  5. var response = xmlHttp.responseXML;
  6. var percent_complete = response.getElementsByTagName("percent")[0].firstChild.data; // hier krijg ik de fout
  7. var index = processResult(percent_complete);
  8. for(var i = 1; i <= index; i++) {
  9. var elem = document.getElementById("block" + i);
  10. elem.innerHTML = clear;
  11. elem.style.BackgroundColor = bar_color;
  12. var next_cell = i + 1;
  13.  
  14. if(next_cell > index && next_cell <= 9){
  15. document.getElementById("block" + next_cell).innerHTML = percent_complete + "%";
  16. }
  17. }
  18.  
  19. if(index < 9) {
  20. setTimeout("pollServer()", 2000)
  21. }
  22. else {
  23. document.getElementById("complete").innerHTML = "Complete!";
  24. document.getElementById("go").disabled = false;
  25. }
  26. }
  27. }
  28. }


ik denk dat m'n xml document niet goed wordt aangemaakt, zou anders niet weten wat het probleem is  
Offline lemoinet - 05/01/2008 20:23
Avatar van lemoinet PHP gevorderde welke versie van php gebruik je, 4 of 5

gebruik je 4, verander dan
  1. private $task;
in
  1. var $task;
Offline Maffiow - 05/01/2008 20:30
Avatar van Maffiow PHP interesse PHP_VERSION 4.3.9

en der verandert niets aan de foutmelding..  
Offline lemoinet - 05/01/2008 20:33
Avatar van lemoinet PHP gevorderde das raar, ik heb het getest en het werkte op mijn localhost in FF
Offline Maffiow - 05/01/2008 20:39
Avatar van Maffiow PHP interesse GET http://mike.vir...=undefined (79ms)

response has no properties
pollCallback()
[Break on this error] var percent_complete = response.getElementsByTagName("percent")[0].firstChild...

dit zie ik in m'n firefox (FIreBug)

1error

en in m'n ie7 staat er :

regel: 68
teken: 4
fout: object vereist

zoals eerder vermeld.. hmz..
Offline lemoinet - 05/01/2008 20:47
Avatar van lemoinet PHP gevorderde verander

var response = xmlHttp.responseXML;

eens terug in

var response = xmlHttp.responseXML.documentElement;
Offline Maffiow - 05/01/2008 21:07 (laatste wijziging 06/01/2008 23:46)
Avatar van Maffiow PHP interesse Opgelost met deze phpcode

  1. <?php
  2. $refresh = new ProgressBar();
  3. $refresh->sendHeaders();
  4. $result = $refresh->getResults();
  5.  
  6. echo $result;
  7.  
  8. //class ProgressBar aanmaken
  9. class ProgressBar {
  10.  
  11. var $task; // in php 5 kan je i.p.v var private maken
  12.  
  13. function ProgressBar() {
  14. $this->task = $_GET['task'];
  15. }
  16.  
  17. function sendHeaders(){
  18. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  19. header('Content-type: text/xml');
  20. }
  21.  
  22. function getResults(){
  23. $res = "";
  24.  
  25. if($this->task == "create"){
  26. $res = "<key>1</key>";
  27. $_SESSION['counter'] = 1;
  28. }
  29. else {
  30. $counter = $_SESSION['counter'];
  31. $percent = "";
  32. switch ($counter){
  33. case 1 : $percent = "10"; break;
  34. case 2 : $percent = "23"; break;
  35. case 3 : $percent = "35"; break;
  36. case 4 : $percent = "51"; break;
  37. case 5 : $percent = "64"; break;
  38. case 6 : $percent = "73"; break;
  39. case 7 : $percent = "89"; break;
  40. case 8 : $percent = "100"; break;
  41. }
  42. $_SESSION['counter']++;
  43.  
  44. $res = "<response><percent>$percent</percent></response>";
  45. }
  46. return $res;
  47. }
  48. }
  49.  
  50. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s