У меня возникла проблема с загрузкой внешнего файла JSON, data.json
в этот сценарий D3.js. Я не знаю, важно ли это, но я запускаю сервер с Python 3 и на 0.0.0.0:8888
. Вот вопрос, который меня беспокоит:Как загрузить внешние файлы JSON в D3?
- Когда я явно определить переменную с данными JSON и использовать
console.log
, то консоль разработчика Chrome показывает, что объект в настоящее время выводится с помощью сценария. - Когда я использую
d3.json
для загрузки внешнего файла JSON с массивом объектов, консоль разработчика Chrome выводитundefined
.
JSON файл - data.json
[{"name": "Computer Science A","scores": [1, 2, 3, 4, 5]},]
Сайт - index.html
<html>
<body>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var data;
d3.json("data.json", function(d) {
data = d;
});
console.log(data);
</script>
</html>
При запуске консоли выводит undefined
вместо вывода содержимого объекта JSON, который находится внутри массива накоп лен в файле data.json
.
Однако второй метод работает отлично, а консольные выходы [Object]
, что указывает на успешное обнаружение JSON.
<html>
<body>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var data = [{"name": "Computer Science A","scores": [1, 2, 3, 4, 5]},];
console.log(data);
</script>
</html>
Что я здесь делаю неправильно? Я попытался настроить объект JSON, положив console.log
внутри функции D3, но ничего не работает.
Edit: Странная часть что, когда я изменить файл JSON на это, он отлично работает:
{"name": "Computer Science A","scores": [1, 2, 3, 4, 5]}
You не могу загрузить локальные файлы .. Аналогичный вопрос http://stackoverflow.com/questions/371875/local-file-access-with-javascript –
Я забыл включить это - я смог прочитать локальный файл JSON около пяти минут.Затем я что-то изменил, а потом перестала работать. Мне интересно, какое постоянное решение может быть связано с этой проблемой. – Shrey