У меня есть программа Python, которая генерирует html-страницу для представления результатов. Страница html сохраняется в каталоге вывода на диске вместе с файлом javascript, который помогает с динамической обработкой таблиц. Я также сохраняю JSON-файл в этом выходном каталоге, который хотел бы прочитать в моем файле javascript. Этот JSON-файл содержит данные из запуска Python (сохраненный словарь), к которому я хотел бы иметь доступ. Таким образом, в выходной каталог на диске у меня есть:Как получить доступ к локальному файлу JSON с Javascript?
- C: /somedirectory/output/report.html
- C: /somedirectory/output/tables.js
- C:/somedirectory/выход/данные .json
Все файлы были созданы из моей программы.
На моей странице html есть таблица с флажками, и если эти флажки выделены, я бы хотел обновить вторую таблицу на основе данных, сохраненных в файле JSON. Таким образом, я хотел бы открыть свой html-отчет в любом браузере и прочитать в JSON-файле как объект javascript.
Я пытался использовать Ajax и .getJSON, но я набираюсь
Нет 'Access-Control-Allow-Origin' заголовок присутствует на запрошенный ресурс. Поэтому исходный 'null' не допускается.
Я искал и видел много подобных проблем, но не встретил ничего, что вполне соответствует мне. Мы будем очень благодарны за мысли и работу. Благодарю.
Update
Поскольку все выполняется локально на стороне клиента, я решил вставить данные в формате JSON (Python словарь) и код яваскрипта непосредственно в выходной HTML отчета. Таким образом, данные являются внутренне доступными, и html-файл может быть передан без проблем с зависимостями. Пользователь с ответом, который я выбрал ниже, имеет ссылку, которая ускользает от этого решения.
Вы используете этот HTML-код с реального сервера или на вашем компьютере локально? – mjkaufer
Похоже, что вы обращаетесь к json локально, что приведет к проблемам из [той же политики происхождения] (http://en.wikipedia.org/wiki/Same-origin_policy). Чтобы обойти это, используйте [jsonp] (http://en.wikipedia.org/wiki/JSONP). Вы должны указать это в своем вызове ajax, указав, что dataType: «jsonp» –
@mjkaufer Ничего не работает с реального сервера, файлы локальны для компьютера. Идея заключается в том, что пользователь устанавливает программу python на рабочем столе, запускает программу и может вытащить хорошо отформатированный html-отчет о результатах. – Doug