#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
Я реши проблему так:
Комментариев нет:
Отправить комментарий