2016-06-25 3 views
0

Я хочу отобразить пример mustache.js. но я хочу получить данные из внешнего файла. скопировать эти данные в "mydata.json":Как визуализировать усы, используя: внешний json, которые имеют функцию как переменную

{ 
    "beatles": [ 
    { "firstName": "John", "lastName": "Lennon" }, 
    { "firstName": "Paul", "lastName": "McCartney" }, 
    { "firstName": "George", "lastName": "Harrison" }, 
    { "firstName": "Ringo", "lastName": "Starr" } 
    ], 
    "name": function() { 
    return this.firstName + " " + this.lastName; 
    } 
} 

скопировать шаблон "template.html":

{{#beatles}} 
* {{name}} 
{{/beatles}} 

и сделать эти файлы с помощью этого кода:

$.get('template.html', function(template) 
{ 
    $.get('mydata.json',function(datas) 
    { 
     var rendered = Mustache.render(template, datas); 
     $('#content').html(rendered); 
    } 
} 

эти коды не работают, пока я не удаляю функции из файла данных.

  • Я пробовал: другой «dataType» в запросе ajax JQuery.
  • Я попытался: получить данные как текст, а затем jQuery.parseJSON, что данные.
  • Я пробовал: обычный и синтаксис LAMBDA в скриптах функций.

, но я не могу решить эту проблему.

+0

Это недействительно json. В json нет функций или 'this'. Чтобы проверить ... поставьте его через онлайн-валидатор – charlietfl

+0

@charlietfl Я знаю. но я хочу использовать внешние данные и внешний шаблон вместе в mustache.js – hoceyn

+0

Ну, вам нужен другой подход. Можно использовать свойства объекта для перехода к функции в js. В верхней части моей головы что-то вроде '" name ": {" comb ": [" firstName "," "," lastName "]}'. затем напишите функцию парсера на основе этих свойств – charlietfl

ответ

0

Я нахожу ответ. Тип данных запроса AJAX должен быть «скриптом» для приема данных как json и функции вместе.