Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Как в переменную загрузить данные из файла?

#javascript #html #mustache


Здравствуйте! 
Есть сторонняя библиотека работы с шаблонами  Mustache. При заполнении шаблона, я
использую два входных параметра, это файл шаблона и файл содержащий JSON строку, содержимое
которой подставляется в шаблон.
Первый вопрос: как загрузить эти файлы непосредственно в переменные, для передачи
их в  Mustache функцию, например:
html = Mustache.to_html(template, json);

Второй вопрос: Может можно сразу указывать в качестве входных параметров Mustache
функции, пути к файлам:
html = Mustache.to_html(File_path_to_template, File_path_to_json);
    


Ответы

Ответ 1



function getData( url, ready ) { var xhr = new XMLHttpRequest(); xhr.open( 'GET', url, true ); xhr.onreadystatechange = function() { if( this.readyState === 4 && this.status !== 404 ) { ready( this.responseText ); } } xhr.send(); } getData( 'pathToTemplate', function( templateData ) { getData( 'pathToJSON', function( jsonData ) { console.log( templateData ); console.log( jsonData ); }) }) Асинхронный вариант, по хорошему нужно делать примерно так, а в вашем случае вообще лучше делать запросы "паралельно", здесь я кое-что писал об этом.

Ответ 2



Возможно, вам подойдет такая немудреная функция: loadURL = function(url) { var oRequest = new XMLHttpRequest(); oRequest.open('GET', url, false); oRequest.setRequestHeader("User-Agent", navigator.userAgent); oRequest.send(null); return oRequest.responseText; }; Я ее успешно использую в своем приложении для загрузки данных из текстовых фалов.

Ответ 3



var json; $.get('/data.json', function (data) { json = data; }); alert(json.test); На чистом JS сами пишите.

Ответ 4



Я реши проблему так:

Комментариев нет:

Отправить комментарий