Anzeige der JSON-Daten mit handlebars.js
Ich brauche, um herauszufinden, wie drucken Sie die vollständigen JSON-Antwort auf meiner Seite (oder auch Teile davon), aber ich kann nicht scheinen, um es herauszufinden. Ich werde schließlich füllen die Seite mit mehr Kontext später.
JS-Datei:
app.get('/', function(req, res) {
var context
apiLib.fetch('acct:chars', function(err, result){
if(err) throw err
context = result;
console.log(result);
res.render('/', context);
});
});
LENKER:
{{#each context.characters}}
{{this.name}}
{{/each}}
JSON-Daten:
{
"result": {
'1234':{ //this is the character ID
"characters": {
"name": 'Daniel',
"CharacterID": '1234'
etc...
}
}
}
Meiner Seite druckt nichts, aber die Konsole loggt alles. Ich bin mit express.js Sie behandeln das routing.
Entfernen
this
im this.name
.InformationsquelleAutor shelum | 2015-12-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein problem ist die
each
Helfer, hier:{{#each context.characters}}
. Waseach
tut, ist, sich innerhalb des aktuellen Kontext für die variable. Haben Sie bereits bestanden LENKER dercontext
- Objekt aus, wenn Sie aufgerufenres.render('/', context)
. So, jetzt LENKER ist auf der Suche innerhalb diecontext
Objekt für ein Attribut namenscontext
, und es nicht finden. So ändern Sie diese Zeile von code zu{{#each characters}}
.Gilt das gleiche, wo Sie schrieb
{{this.name}}
. Ich denke, dass wird funktionieren, wenn Sie fix das andere problem, aber diethis
ist unnötig, weil-LENKER siehtthis
(dem aktuellen Kontext) automatisch. Also einfach{{name}}
sollte in Ordnung sein da.Schließlich, wenn Sie wirklich versuchen, nur die Anzeige der JSON-Datei als eine Seite text, die Sie nicht brauchen, um es durch ein LENKER-Vorlage. Sie können einfach verwenden Sie
res.json(context)
. Das wird wieder eine JSON-Antwort. Wenn Ihr server so konfiguriert ist, behandeln Sie dasapplication/json
MIME-Typ es darstellen soll als plain text im browser.glücklich zu helfen! auch, möchten Sie vielleicht zu Bearbeiten, Ihre Frage zu verdeutlichen, dass Sie versuchten, nicht zu machen, es als reinen text, zu helfen, die künftigen Leser.Mach dir keine sorgen über das hinzufügen danke Antworten oder Kommentare entweder: ein upvote oder ausgewählte Antwort ist Dank genug! Überprüfen Sie heraus einige der docs: stackoverflow.com/help/privileges/comment
InformationsquelleAutor dwhieb
Wenn Sie wollen, um den stringified JSON, können Sie einen Helfer
JS
HTML
<pre>{{toJSON result}}</pre>
InformationsquelleAutor Shanoor
Da Sie die Iteration über Objekte im LENKER, es sollte getan werden, als -
was bedeutet
context
enthält .. ?Kontext enthält die JSON-Daten. Es ist sichtbar in der Konsole.
können Sie es einfügen ..? oder ist es die gleiche wie in der Frage .. ?
meine server haben muss hatte einen Schluckauf. Seite wird geladen jetzt, aber es ist immer noch nicht alles, was gedruckt auf der Seite. Dies ist, was zeigt sich in der Konsole ein: i.imgur.com/VhLTDri.jpg
InformationsquelleAutor Chandan