Schnurrbart-JS-Vorlage mit JSON-Sammlung

Hallo, dies ist mein erster Versuch, MoustacheJS mit einem JSON-Webservice in .net zu verwenden

Momentan habe ich Probleme, ich kann anscheinend nicht herausfinden, was ich falsch mache, indem ich dieses grundlegende Beispiel anführe:

Mein Webservice speichert die folgende Zeichenfolge:

[
  {
    "ShortDescription":"BOX",
    "Description":"BOXING",
    "Id":1
  },
  {
    "ShortDescription":"EPL",
    "Description":"ENGLISH PREMIER LEAGUE",
    "Id":2
  }
]

Ich habe die Syntax mit dieser Website überprüft:http://json.parser.online.fr/

Und hier ist der HTML-Code, den ich verwende:

google.load("jquery", "1");
google.setOnLoadCallback(function () {
    $(document).ready(
        function () {

            $.ajax({
                url: "../data.asmx/geteagues",
                type: "POST",
                dataType: "json",
                data: "",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    var template = "<h1>{{ShortDescription}} {{Description}}</h1>";
                    var html = Mustache.render(template, data);
                    $('#sampleArea').html(html);
                    alert(html);
                }
            })

        }
    )
});

Ich poste den gesamten JS-Code, da ich nicht sehr gut mit Javascript umgehen kann. Grundsätzlich möchte ich immer die neueste JQuery-Version von Google laden und dann meinen WS-Aufruf bearbeiten.

Das Problem ist bisher, dass wenn ich einen Haltepunkt in der folgenden Zeile platziere:

 var html = Mustache.render(template, data);

Ich sehe, dass die Vorlage und die Daten auf den gleichen Wert wie oben eingestellt sind, aber die .render-Funktion gibt Folgendes zurück:

Mir scheinen die Daten nicht gefallen zu haben.

Bisher haben alle Beispiele, die ich für Inline-Daten gesehen habe, die folgende Struktur:

{
  "repo": [
    { "name": "resque" },
    { "name": "hub" },
    { "name": "rip" },
  ]
}

Und dann eine Vorlage wie folgt definiert:

{{#repo}}
  <b>{{name}}</b>
{{/repo}}

Aber der einzige Unterschied zu meinen Daten ist, dass ich kein "Elternteil" wie "Repo" habe.

Auf der Serverseite verwende ich eine .net-Bibliothek namens JSON.net und in der Dokumentation, wie Sammlungen serialisiert werden:

james.newtonking.com/projects/json/help/html/SerializingCollections.htm

Das Endergebnis enthält nicht den Namen des übergeordneten Knotens, den ich in meiner Mustache-Vorlagendefinition vermisse:

[
  {
    "Name": "Product 1",
    "ExpiryDate": "2000-12-29T00:00Z",
    "Price": 99.95,
    "Sizes": null
  },
  {
    "Name": "Product 2",
    "ExpiryDate": "2009-07-31T00:00Z",
    "Price": 12.50,
    "Sizes": null
  }
]

Fehlt mir das? der "repo" Elternknoten aus meinen Daten, damit ich meine Vorlage durchlaufen kann?

Vielen Dank im Voraus für Ihre Zeit.

-ed

Antworten auf die Frage(3)

Ihre Antwort auf die Frage