2016-10-31 2 views
1

Ich benutze Evan plaice jquery-csv libary, aber ich bin in eine Menge Schwierigkeiten, um es im Moment funktioniert aufgrund seines Codes nicht aktualisiert, nachdem Google-Code veraltet ist.jquery Funktion kann nicht definiert werden, obwohl es importiert

Ich verwende eines seiner Beispiel, wo Sie eine CSV-Datei hochladen und es wird das Dokument analysieren, so dass die CSV-Datei auf der Webseite Demo here angezeigt wird.

Ich habe seinen Code von Github heruntergeladen, aber seitdem der Googlecode, den er importiert hat, nicht mehr funktioniert, lege ich die Datei jquery.csv.js in den gleichen Ordner wie die Datei, die ich benutze. In der Datei jquery.csv.js wird eine Funktion aufgerufen, die in der HTML-Datei toArray heißt. Ich löschte die Zeile, in der es verwendet wird, <script src="http://jquery-csv.googlecode.com/git/src/jquery.csv.js"></script> und fügte hinzu <script type="text/javascript" src="./jquery.csv.js"></script> Jedoch beschwert sich aus irgendeinem Grund, dass toArry nicht definiert ist.

Grundsätzlich ist der Code wie folgt:

function printTable(file) { 
    var reader = new FileReader(); 
    reader.readAsText(file); 
    reader.onload = function(event){ 
    var csv = event.target.result; 
    var data = $.csv.toArrays(csv); << The line that has problem. 
    var html = ''; 
    for(var row in data) { 
     html += '<tr>\r\n'; 
     for(var item in data[row]) { 
     html += '<td>' + data[row][item] + '</td>\r\n'; 
     } 
     html += '</tr>\r\n'; 
    } 
    $('#contents').html(html); 
    }; 
    reader.onerror = function(){ alert('Unable to read ' + file.fileName); }; 
} 

in der Entwicklerkonsole Bedeutung:

Uncaught TypeError: Cannot read property 'toArrays' of undefined at FileReader.reader.onload (file:///Users/Jace/Downloads/jquery-csv-master/examples/file-handling.html:75:25)

+0

Überprüfen Sie den Pfad der Datei 'jquery.csv.js', wenn Sie denselben Ordner abgelegt haben, verwenden Sie' src = "jquery.csv.js" 'und was ist die Reihenfolge der Dateien? – Satpal

+0

Ich habe am Anfang src = "jquery.csv.js" verwendet, aber es hat immer noch nicht funktioniert. Was meinst du mit Sequenz. Tut mir leid, ich bin ein wenig neu in Jquery. Danke, für die schnelle Antwort. –

+0

1. '' 2. '' 3. Dein Skript in Frage – Satpal

Antwort

2

Ich glaube, du bist Problem, dass, wenn Sie entfernt den Verweis auf die Jquery-csv Bibliothek gehostet auf Google Code und enthalten Ihre lokale Version, Sie setzen es über den Verweis auf jQuery selbst. Dann bemerke ich den Fehler, den du beschreibst. Die Reihenfolge, die Sie in Ihre JavaScript-Dateien laden, spielt eine Rolle. Wenn zum Beispiel der JavaScript-Code in der Datei B.js abhängig vom Code in A.js ist, muss A.js angegeben werden vorB.js.

Also im Grunde überprüfen, ob die Reihenfolge Sie die Dateien in Ihrer HTML-Datei sind die Angabe korrekt ist:

<body> 
    <!-- HTML... --> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script src="jquery.csv.js"></script> <!-- The "./" is not used here --> 

    <script> 
     // Code... 
    </script> 
</body> 

Auch ist die ./ vor nicht erforderlich und nicht üblich. Ich habe es auf keinen Fall benutzt. ;)

Ich hoffe das macht es dir etwas klarer!

+0

OMG danke danke! –

Verwandte Themen