2015-03-02 3 views
-1

Я пытаюсь поиграть с этим Simple d3.js Graph, но всякий раз, когда я загружаю файл локально, график не будет отображаться.Проблемы с использованием D3.js локально

Я не уверен, что это связано с загрузкой библиотеки D3.js? У меня есть файл CSV в каталоге.

Я знаю, что это своего рода неопределенный вопрос, но любые идеи относительно того, почему это не будет работать локально?

+1

ли вы, увидеть ошибки в инструментах dev? – wrshawn

+0

Мне удалось получить эту работу, открыв порт на HTTP-сервере, а затем загрузив файл. –

ответ

0

javascript не может загружать файлы с локального диска. это то, что csv-файл становится при сохранении на локальном, и d3.js пытается ссылаться на него. если у вас есть локальный веб-сервер, вы можете заставить его работать.

+0

* вздох * Думаю, я могу просто нажать на GitHub –

+0

Вы можете столкнуться с той же проблемой, с которой вы столкнулись при попытке использовать подход user1403582. Проблема заключается в том, что теперь вы делаете запрос на перекрестный домен, где потенциально сервер явно не разрешил вашему домену (local = null) доступ к своим ресурсам через скрипт. см .: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS – sujitv

1

Измените строку пытается загрузить data.csv запросить версию он хозяйничает на http://bl.ocks.org/d3noob/raw/b3ff6ae1c120eea654b5/a1f7e8f2a609bfab778b8c48eaa0f7c90f3f6f80/data.csv

Вы не можете загружать файлы локально.

+0

Теперь я получаю: ** 1 XMLHttpRequest не может загрузить http://bl.ocks.org/d3noob/raw/ b3ff6ae1c120eea654b5/a1f7e8f2a609bfab778b8c48eaa0f7c90f3f6f80/data.csv. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Следовательно, исходное значение «null» не допускается. ** –

+1

Sigh. Если вы используете хром и запускаете его с помощью '--allow-file-access-from-files', вы можете загрузить его из своей файловой системы. От терминала os x, '/ Applications/Google \ Chrome.app/Contents/MacOS/Google \ Chrome --allow-file-access-from-files' В окнах вам нужно отредактировать свойства на .exe или что нибудь. – wrshawn

+0

Я использую метод @ user1403582. Нет необходимости запускать веб-сервер локально, если вы хотите использовать Chrome. Однако я обнаружил, что мне нужно предоставить полный путь к html-файлу. Поскольку я почти всегда запускаю Chrome из каталога, в котором находится файл, над которым я работаю, я добавляю '\' pwd \ '' в сценарий оболочки: 'open -a/Applications/Google \ Chrome.app -args --allow -file-access-from-files \ 'pwd \'/"$ 1" '. – Mars

2

Если вы используете Chrome, это может помешать вам открыть файл должным образом из-за ограничений безопасности между доменами. Попробуйте Firefox, чтобы убедиться, что это так (это, вероятно, позволит вам загрузить файл правильно).

Если это проблема, вы хотите установить локальный веб-сервер, как WAMP (если вы работаете в Windows) или следовать инструкциям на этой странице вики здесь: https://github.com/mbostock/d3/wiki

Удачи

Смежные вопросы