Загрузка локального файла JSON с использованием тега script

Я хочу загрузить файл JSON локально на свою HTML-страницу без использования веб-сервера. Это невозможно с AJAX, поэтому я придумал это решение:

HTML:

<script src="../js/hack.js"></script>
<script src="../js/data.json"></script>

Внутри hack.js:

var myJsonData = 

И файл json выглядит так:

[{"something":"anything"},{},{}]

Я ожидал, что конечный результат будет таким:

var myJsonData = [{"something":"anything"},{},{}]

Но, к сожалению, я получаю сообщение об ошибке: Uncaught SyntaxError: Unexpected end of input после загрузки hack.js.

Есть ли способ решить эту проблему без настройки файла json и без настройки параметров локального браузера/использования локального сервера?


person Kokodoko    schedule 30.09.2014    source источник
comment
Сохраните этот файл как data.js и попробуйте получить значение!   -  person Deepak Biswal    schedule 30.09.2014
comment
Вы не можете ожидать, что файлы будут просто объединены. Каждый файл анализируется как отдельный скрипт, вы можете использовать переменные друг друга, но нет переполнения кода   -  person Jerodev    schedule 30.09.2014
comment
вы не можете сделать это ... вам нужно вызвать ajax для json, чтобы получить от него значения, а затем заполнить переменную myJsonData данными json   -  person V31    schedule 30.09.2014
comment
stackoverflow.com/a/18278346/609907   -  person RichieAHB    schedule 30.09.2014
comment
Он использует код локально, он не может выполнять запросы ajax.   -  person Jerodev    schedule 30.09.2014


Ответы (1)


Вам нужно будет изменить свой файл json, чтобы вы объявили там переменную.

data.json

var MyjsonData = [{"something":"anything"},{},{}]

Теперь в вашем файле hack.js вы можете вызвать переменную MyjsonData.

person Jerodev    schedule 30.09.2014
comment
Спасибо, это, пожалуй, единственное решение. Я надеялся найти способ избежать изменения самого файла JSON. - person Kokodoko; 30.09.2014