Ich versuche, ein JSON-Dokument mit JADE zu iterieren.Mit Jade Iteration JSON
meinem Server (läuft node.js + Express) die folgenden auf einem .get() Anfrage tut,
app.get('/search/', function(req,res){
// Parse the query
var dbQuery = url.parse(req.url, true).query;
var product = dbQuery.product;
var category = dbQuery.category;
console.log('Searching for: ' + product + ' in ' + category);
//Mongo DB setup then query
var result;
var server = new mongodb.Server('23.23.129.158', 27017, {});
new mongodb.Db('militaryListDB', server, {}).open(function(err, client){
if(err) throw err;
var collection = new mongodb.Collection(client, 'products');
collection.find({}).toArray(function(err, results){
console.log(results);
console.log(JSON.stringify(results));
res.render('results', {result: JSON.stringify(results), title: 'Test'});
});
});
});
und das ist, was es an den Client zu machen.
[{"_id":"50738ebbe3d87c6beaddb6f2","name":"tv","category":"tech","cost":"30"}]
Ich habe für Iterieren ein Array über die Jade-Dokumentation lesen, und ich dachte, dass es das gleiche für JSON sein würde, aber es funktioniert nicht. Es wird nur ein Leerzeichen angezeigt. Wenn ich dies versuche,
extends layout
block content
div#wrapper
p #{results}
wird es die JSON doc anzeigen. Aber wenn ich das versuche,
extends layout
block content
div#wrapper
p #{results.name}
und es zeigt eine Leerstelle. Wenn es angezeigt werden soll, ist "TV". Wenn mir jemand helfen könnte, JSON-Dokumente zu wiederholen, wäre das großartig.
Vielen Dank!
ich dies in dem Beispielcode enthalten vergaß ich gegeben habe. Aber als ich JSON.stringify() auf der Serverseite wegnahm, funktionierte es. –
Dank Jesus, endlich, habe ich stundenlang nach dem kleinen Code gesucht und sogar an einem Gebäude aus Ziegenblut "JADE SUCKS" gemalt. Wenn Sie ein anderes Häkchen haben möchten, http://stackoverflow.com/questions/20485595/how-doi-send-on-object-from-mongodb-to-jade. DANKE. – Squirrl