ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
380
380
EMPFEHLEN
-
Hallo allerseits.
Ich habe ein Problem mit dem Speichern von Daten.
Code :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 38 39 40 41 42 43 44 45 46
var plan = new Array(); function query(){ connect(); xmlhttp.open("GET", "http://adresse.php",true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { var code = xmlhttp.responseText; var preg = /\b([0-9]{2}.[0-9]{2}.[0-9]{2})\b/g; var test = code.match(preg); if (test){ for (var i=0; i<test.length; i++) arr.push(test[i]); } var tempcode = code.split("Speiseplan nächste Woche"); var preg2 = /<.*?>/gi; tempcode[1] = tempcode[1].split(/Montag, |Dienstag, |Mittwoch, |Donnerstag, |Freitag, |Gemischte/g); for(var i = 1; i < tempcode[1].length; i++){ tempcode[1][i] = tempcode[1][i].replace(preg2,''); tempcode[1][i] = tempcode[1][i].replace(/^\s*/gi,''); tempcode[1][i] = tempcode[1][i].replace(/ +/gi,' '); tempcode[1][i] = tempcode[1][i].replace(/ |€|\f|\n|\r|\t|\v/gi,''); tempcode[1][i] = tempcode[1][i].split(/\d,\d\d\s*\S\s*\d,\d\d/g); //document.write(tempcode[1][1].length) //for(var i = 0; i < tempcode[1][1].length; i++) var datum = tempcode[1][i][0].match(preg); for(var a = 0; a < tempcode[1][1].length; a++){ tempcode[1][i][a] = tempcode[1][i][a].replace(preg,''); tempcode[1][i][a] = tempcode[1][i][a].replace(/^\s*/gi,''); plan.push(tempcode[1][i][a]); } // Ende for document.write(plan.length+"<br>") } // Ende for // DAS HIER KANN ICH NICHT AUSGEBEN, BZW. KOMMT DA NICHTS. WIESO? document.write(plan[1]) document.write(plan[2]) document.write(plan[3]) } // Ende if } // Ende function xmlhttp.send(null); }// Ende function
Das Problem ist, dass er mir die Daten nicht persistent im Array plan speichert - WIESO?
Setzt der da nur eine Referenz, die nach der FOR Schleife wieder weg ist?
Ich finde aber das Problem einfach nicht.
Schöne Grüße,
WACSF
-
Bist du sicher, dass der Array leer ist, oder wird nur nichts ausgegeben?
Ist dir bekannt, was write(), sofern es nach beendetem Ladevorgang eines Dokumentes darauf angewendet wird, bewirkt?
-
Hi,
ich habe mir jetzt mal das mit write durchgelesen. Nun habe ich kein document.write() mehr drin und die variablen alle in den global Bereich geschrieben. Wenn ich nun eine neue Funktion teste() erstelle, die plan.length in divtag.innerText ausgeben soll wird mit als Größe 0 angezeigt. Deswegen habe ich das Gefühl, dass die Daten mit plan.push(daten) nicht wirklich in dem array gespeichert werden?
Schöne Grüße,
WACSF
-
Hast du überprüft, ob überhaupt Daten ankommen, die eingetragen werden könnten?
-
ja habe ich. ich habe sie mir aus dem array plan vor ende der for schleife ausgeben lassen. da stehen sie definitiv drin. sobald ich die ausgabe um eine for schleife nach außen setze, werden die daten nichtmehr angezeigt.
ich habe jetzt nochmal mein komplettes script mit den Kommentaren zur Ausgabe
Code :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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
var arr = new Array(); var xmlhttp = false; var plan = new Array(); var code = "NA"; var date = new Array(); var date2 = new Array(); var preg = /\b([0-9]{2}.[0-9]{2}.[0-9]{2})\b/g; var preg2 = /<.*?>/gi; var tempcode = new Array(); function connect(){ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } } if (!xmlhttp && window.createRequest) { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } } } function query(){ connect(); xmlhttp.open("GET", "http://adresse.php",true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { code = xmlhttp.responseText; date = code.match(preg); if (date){ for (var i=0; i<date.length; i++) arr.push(date[i]); } tempcode = code.split("Speiseplan nächste Woche"); tempcode[1] = tempcode[1].split(/Montag, |Dienstag, |Mittwoch, |Donnerstag, |Freitag, |Gemischte/g); for(var i = 1; i < tempcode[1].length; i++){ tempcode[1][i] = tempcode[1][i].replace(preg2,''); tempcode[1][i] = tempcode[1][i].replace(/^\s*/gi,''); tempcode[1][i] = tempcode[1][i].replace(/ +/gi,' '); tempcode[1][i] = tempcode[1][i].replace(/ |€|\f|\n|\r|\t|\v/gi,''); tempcode[1][i] = tempcode[1][i].split(/\d,\d\d\s*\S\s*\d,\d\d/g); //document.write(tempcode[1][1].length) //for(var i = 0; i < tempcode[1][1].length; i++) date2 = tempcode[1][i][0].match(preg); for(var a = 0; a < tempcode[1][1].length; a++){ tempcode[1][i][a] = tempcode[1][i][a].replace(preg,''); tempcode[1][i][a] = tempcode[1][i][a].replace(/^\s*/gi,''); //document.write(tempcode[1][i][a]+"<br>"); var check = plan.push(tempcode[1][i][a]); //if (check) //document.write("GEPUSHED"); //else //document.write("NICHT GEPUSHED"); } // Ende for // WIRD NICHT ANGEZEIGT // for(var t = 0; t < plan.length; t++){ // document.write("ARRAY: "+plan[t]+"<br>"); // } } // Ende for // WIRD NICHT ANGEZEIGT for(var t = 0; t < plan.length; t++){ document.write("ARRAY: "+plan[t]+"<br>"); } // DAS HIER KANN ICH NICHT AUSGEBEN, BZW. KOMMT DA NICHTS. WIESO? } // Ende if teste(); } // Ende function xmlhttp.send(null); }// Ende function function teste(){ error.innerText = plan.length; } function setContentText() { if(arr.length == 0) error.innerText = "Der Plan enthält leider keine Daten."; if(xmlhttp == false) error.innerText = "Keine Internetverbindung vorhanden."; if(arr.length > 0 && xmlhttp){ woche.innerText = arr[0]+"-"+arr[1]; essen.innerText = arr[2]+"<br>"+arr[3]+"<br>"+arr[4]+"<br>"+arr[5]+"<br>"+arr[6]; } }
-
Ich glaube, es bringt mehr, wenn du mal einen Beispiel- Inhalt der abgefragten Datei postest und beschreibst, was du daraus erzeugen willst.
Ohne dieses wird es schwer, das Bsp. nachzuvollziehen, zumal es so, wie es momentan ist, eh nur im IE7 komplett funktionieren kann, da nur dieser XMLHttpRequest() und innerText kennt.
Ähnliche Themen
-
Szene wird nicht (vollständig) gespeichert
Von Xo-mate im Forum Cinema 4DAntworten: 1Letzter Beitrag: 03.01.07, 14:42 -
Registrierung wird nicht in Datenbank gespeichert
Von Delta-787 im Forum PHPAntworten: 38Letzter Beitrag: 29.05.06, 23:47 -
Will nicht voten... vote wird nicht gespeichert... (kein msql)
Von BastiS im Forum PHPAntworten: 0Letzter Beitrag: 22.02.05, 12:10 -
Session wird nicht gespeichert
Von h-brock im Forum PHPAntworten: 1Letzter Beitrag: 09.02.04, 22:09 -
Textur-Ordner wird nicht gespeichert!
Von daDom im Forum Cinema 4DAntworten: 4Letzter Beitrag: 15.01.04, 13:51





Zitieren
Login





