У меня есть внешний файл js с одной функцией, которую я пытаюсь протестировать. Я не могу заставить функцию вызываться из onclick.
У меня была функция инициализации, и я удалил вызов к ней и просто напрямую вызвал функцию loadJSON, но независимо от того, что я делаю, я получаю справочную ошибку.
Я изучал эти вопросы. Неперехваченное исключение: ReferenceError: Неопределенная переменная: $
Функция не определена — необработанная ошибка ссылки
ни то, ни другое не помогло.
function loadJSON(){
var xobj = new XMLHttpRequest();
// must set the mime type
xobj.overrideMimeType("application/json");
// Open the JSON file
xobj.open('GET', 'json/data.json', true);
xobj.onreadystatechange=function(){
if(xobj.readyState == 4 && xobj.status == "200"){
// Required use of an anonymous callback as
// .open will NOT return a value but simply
// returns undefined in asynchronous mode
console.log(xobj.responseText);
}
};
xobj.send(null);
}
https://codepen.io/awschneider-dev/pen/LKKxyq?editors= 1010а>
см. codepen, например
Все, что я хочу, это чтобы JavaScript извлекал Json, после чего я мог бы начать сохранять его в объекте JavaScript, чтобы я мог динамически начать строить диаграмму d3 с данными. Я использую live-сервер с Node.JS, поэтому я могу выполнить запрос xml в файле JSON, поэтому я знаю, что это не проблема.
любая помощь приветствуется.
Спасибо!
**** РЕДАКТИРОВАТЬ - Плохо, у меня изначально был () после loadJSON, но я удалил его как последнюю попытку, просто чтобы посмотреть, сработает ли он. Я поправлю ручку. Мои извинения"****
**** РЕДАКТИРОВАТЬ 2. Я переместил скрипт, чтобы он был встроенным, и когда я выполняю его в NodeJS Live-Server, строка console.log(xobj.responseText);
возвращает весь исходный код для html-страницы. Это интересно! Что, черт возьми, здесь происходит? ****
**** РЕДАКТИРОВАТЬ 3 - Добавлен скриншот для Techie_28. Когда я нажимаю на ошибку «Неожиданный токен ‹» для main.js, все, что он делает, показывает весь исходный код для html-страницы, как будто html-страница каким-то образом сбрасывается в файл .js. ****
**** РЕДАКТИРОВАТЬ 4 — Добавлен снимок экрана, показывающий, что появляется при нажатии на ошибку «Неожиданный токен». Я нажимаю на ссылку на main.js, и все, что она делает, это показывает мне страницу index.html, как будто html-страница каким-то образом сбрасывается в файл .js. ****
onclick="loadJSON"
должен бытьonclick="loadJSON()"
. - person random   schedule 15.07.2019loadJSON
, которое где-то было переопределено. - person techie_28   schedule 15.07.2019console
говорит, когда вы нажимаете кнопку. Кнопка &loadJSON
может не существовать в той же области. Также проверьте синтаксический анализ или другие ошибки при загрузке страницы, которые также будут видны вconsole
. используйтеF12
для вызова и обновления страницыconsole
должно быть записана какая-то ошибка JS. - person techie_28   schedule 16.07.2019