ReferenceError: CSV не определен
Я использую jquery.csv-0.71.min.js
lib, чтобы загрузить CSV-файл и преобразовать его в массив. Однако при загрузке моей веб-страницы:
<script src="assets/lib/jquery/dist/jquery.min.js"></script>
<script src="assets/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Jquery-csv -->
<script src="assets/js/jquery.csv-0.71.min.js"></script>
<script>
(function() {
var data;
var url = 'data/data.csv';
function makeRequest(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = function() {
if (xhr.readyState === 4 && xhr.status === 200) {/*run code*/}
};
xhr.send(null);
}
})();
data = CSV.toArrays(xhr.responseText);
console.log(data);
</script>
Я получаю в консоли:
ReferenceError: CSV is not defined at 'data = CSV.toArrays(xhr.responseText);'
Любые рекомендации, что я делаю не так?
Я ценю ваши ответы!
ОБНОВИТЬ
Я поместил свой код в документ read funciton, однако я все еще получаю ту же ошибку, что и выше.
$(document).ready(function() {
(function() {
var data;
var url = 'data/data.csv';
function makeRequest(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = function() {
if (xhr.readyState === 4 && xhr.status === 200) {/*run code*/
}
};
xhr.send(null);
}
})();
data = CSV.toArrays(xhr.responseText);
console.log(data);
});
1 ответ
Решение
Ваш код выполняется до того, как браузер загрузит CSV
скрипт. Оберните ваш код JavaScript с
$( document ).ready(function() {
// PUT YOUR JavaScript CODE HERE
});
Это заставит браузер ждать, пока все ваши скрипты не загрузятся, и только после выполнения кода.
Вы можете проверить документацию jquery CSV здесь. Это говорит о том, что вы должны вызывать такие методы:
$.csv.toArrays(csv);