ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
1907
1907
EMPFEHLEN
-
Hy
wie kann ich mit Javascript eine Datei (CSV/TXT) die auf dem gleichen Server (Verzeichnis) wie die HTML-Dateit mit dem Script liegt Zeilenweise / Zeichenweise ab einer bestimmten Pos. einlesen?
Zur Not wäre es auch möglich, die ganze Datei einzulesen und danach in Zeilen zu trennen
-
Hi,
wenn sich die CSV-Datei unter der gleichen Domain befindet, könntest du mittels eines AJAX-Requests Zugriff auf den Inhalt bekommen.
Beispiel:
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
<html> <head> <title>www.tutorials.de</title> <meta name="author" content="Quaese"> <script type="text/javascript"> <!-- var xmlHttp = false; function instanceRequest(){ if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){} } } if(!xmlHttp){ alert('Es konnte keine XMLHTTP-Instanz erzeugt werden!'); return false; } } function theRequest() { // Falls noch ein Request-Objekt existiert -> zunächst beenden if(xmlHttp && xmlHttp.readyState){ xmlHttp.abort(); xmlHttp = false; } if(!xmlHttp){ instanceRequest(); } // POST-Request xmlHttp.open('get', 'test.csv', true); xmlHttp.onreadystatechange = function () { if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ document.getElementById("outID").innerHTML = xmlHttp.responseText; // Sonstige Bearbeitungen } } }; // Request absetzen xmlHttp.send(); } //--> </script> </head> <body> <button onclick="theRequest();">Request</button> <div id="outID"></div> </body> </html>
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Moin,
nur der Vollständigkeit halber, aber vielleicht nützt es dir ja bei deiner Anwendung: Microsoft-Datenabindung..funktioniert natürlich nur im InternetExplorer
-
Das läuft bei mir nicht
aber
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
<script type="text/javascript" language="javascript"> // FileRead /* Mozilla 0.9.6, Linux (Debian). Mozilla 0.9.7, NT4. Mozilla 0.9.8, Linux (Red Hat 7.1). Mozilla 0.9.9, Win2000. Mozilla 0.9.9, NT4. Mozilla 0.9.9, Linux (Red Hat 7.2). Mozilla 1.0 RC1, FreeBSD. Netscape 6.1, NT4. Netscape 6.2.1, Win2000. Netscape 6.2.2, Win2000. Netscape 6.2.2, NT4. Netscape 6.2.2, Linux (Debian). Netscape 7 Win2000 Netscape 8 Win2000 Firefox 1.07 Win2000 Firefox 1.5 Win2000 Opera 8.51 Win2000 Avant Browser 10 Win2000 Internet Explorer 6.0 SP1 Win2000 Internet Explorer 7.0 Windows Vista */ function ReadFile(fileUrl) { var req; var fileContent; // branch for IE/Windows ActiveX version if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); req.open("GET", fileUrl, false); req.onreadystatechange=function() { if (req.readyState == 4) { fileContent = req.responseText; } } req.send(null); // branch for native XMLHttpRequest object } else if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.open("GET", fileUrl, false); req.send(null); fileContent = req.responseText; } return fileContent; }// FileRead End alert(ReadFile("test.csv")); </script>
geht.
Das habe ich irgendwo gefunden aber noch nicht ganz kapiert.
Wie kann ich aber nur ab einer gewissen Position (z.B. Byte 400) einlesen.
Geht das überhaupt?
-
Hi,
das von dir gepostete Script funktioniert ähnlich wie meins - mit dem Unterschied, es führt einen synchronen Request aus (drittes Argument in open-Methode).
Ab einer bestimmten Position einzulesen ist nicht möglich, zumindest ist mir keine Möglichkeit bekannt.
Aber vielleicht kannst du dich über die Variablengrösse annähern. Ein String ist als endliche Sequenz von Null oder mehr vorzeichenlosen 16-Bit Integerwerten definiert. Damit könnte es möglich sein, ein Offset zu berechnen. Einfach mal versuchen.
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
Ähnliche Themen
-
Mit C .txt zeilenweise einlesen
Von MrMorpheus im Forum C/C++Antworten: 28Letzter Beitrag: 27.02.12, 18:54 -
Datei zeilenweise einlesen - aber nicht die erste Zeile
Von FoolMoon im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 13.02.10, 19:22 -
txt zeilenweise einlesen?
Von Fichmopp im Forum Visual Basic 6.0Antworten: 16Letzter Beitrag: 16.05.05, 20:05 -
Datei zeilenweise in Array einlesen!
Von abi22 im Forum PHPAntworten: 5Letzter Beitrag: 12.10.04, 13:21 -
Datei zeilenweise einlesen
Von Shadow im Forum JavaAntworten: 2Letzter Beitrag: 10.10.04, 21:28





Zitieren


Login





