Jungs Ich versuche, MongoDB-Datensatz in meiner .EJS-Datei zu rendern, jedoch console.log die Variable vor dem Ende meiner Route und ich bekomme den erwarteten Wert, jedoch wenn undefiniert in den .ejsÜbergabe von Params an nodejs ejs Vorlage
unter dem Code-Datei:
router.get("/new",function(req,res){
var selectedMake;
console.log("Welcome to new make route!");
Make.find({},function(err,result){
if(err){
console.log("an error occured while fetching the data");
}else{
if(req.query.id){
Make.findById(req.query.id,function(err,foundMake){
console.log("found the query string");
selectedMake = foundMake;
console.log(selectedMake); // renders expected value when passing valid ID in the query string
})
}
res.render("vehicles/newvehiclemake",{selectedMake: selectedMake, makes:result,modelId: req.query.id});
}
})
});
und hier ist der .ejs Auszug, wo die Variable selectedMake verwendet wird:
<% if (!typeof selectedMake == undefined) { %>
<% selectedMake.models.forEach(function(model){ %>
<tr><td><%= model.name %></td></tr>
<% }) %>
<% }else { %>
<tr><td>No Models available for the selected Make</td></tr>
<% } %>
schätzen Sie Ihre Eingabe und dank im advanc e.
Sie sollten andere Benutzer in Ihren Antworten nicht herausrufen. Wenn Sie einen anderen Benutzer kritisieren möchten, sollten Sie unter dem Beitrag einen Kommentar hinzufügen. – FrankerZ