2016-12-20 2 views
1

Ich möchte Json Daten von lokalen API füllen. Ich folgte dem Dokument, aber es funktioniert nicht und ich bekomme leere Klammern anstelle von Daten.Warum gibt bracket.js leere Klammern zurück?

HTML-Schnipsel:

<div class="form-group"> 
    <select name="form1" id="form1" class="ins-form-basic" > 
    </select> 
</div> 
<script id="sourceTemplate" type="x-handlebars-template"> 
    {{#each items}} 
    <option value="{{id}}">{{name}}</option> 
    {{/each}} 
</script> 

<script> 
$.get("/localApi", function(json) { 
    var source = $("#sourceTemplate").html(), 
     tmplt = Handlebars.compile(source), 
     data = { items: json.item }, 
     output = tmplt(data); 
    $("#form1").append(output); 
}); 
</script> 

Ich erwartete id und Namen zu erhalten, und das ist, was ich bekommen.

<option value="{}">{}</option> 
<option value="{}">{}</option> 
<option value="{}">{}</option> 
<option value="{}">{}</option> 

Der JSON von api ist kein Problem. Dies ist seine Struktur.

{ 
    item: [ 
     {id:"1", name:"test1"}, 
     {id:"2", name:"test2"}, 
     {id:"3", name:"test3"}, 
     {id:"4", name:"test4"}, 
     ... 
     ] 
} 

Antwort

-1

ich undertood sein, was passiert ist. Eine serverseitige Vorlage (template_) Bibliothek teilt das gleiche Symbol (Klammern)

Ich versuche, einen anderen Weg zu finden.

2
<option value="{{id}}">{{name}}</option> 

sollte

<option value="{{this.id}}">{{this.name}}</option> 
Verwandte Themen