Ich habe den folgenden Code, der mir einen Fehler verursacht Angabe kann nicht lesen Eigenschaft ‚Teilzeichenfolge‘ undefinierterKann nicht Eigentum ‚Teilzeichenfolge‘ undefinierter
<div class="extra">
<p><%- blog.body.substring(0, 120) %> ... </p>
<a href="/blogs/<%= blog._id %>">Read More</a>
</div>
jedoch der Fehler auf meiner index.js Seite auftreten wird nur wenn neuer Inhalt zur Seite hinzugefügt wird, nicht zum vorhandenen Inhalt. Ich benutze Express auf dem Backend. Die Veränderung, die ich gemacht habe, war
router.post("/blogs", isLoggedIn, function(req, res){
// create blog
req.body.blog.body = req.sanitize(req.body.blog.body);
Blog.create(req.body.blog, function(err, newBlog){
if(err){
res.render("blogs/new");
} else {
//then, redirect to the index
res.redirect("/blogs");
}
});
});
dieser diese
// CREATE ROUTE
router.post("/blogs", isLoggedIn, function(req, res){
var title = req.body.title;
var image = req.body.image;
var description = req.body.description;
var author = {
id: req.user._id,
username: req.user.username
}
var blogPost = {title: title, image: image, description: description, author: author}
req.body.blog.body = req.sanitize(req.body.blog.body);
Blog.create(blogPost, function(err, newBlog){
if(err){
res.render("blogs/new");
} else {
//then, redirect to the index
res.redirect("/blogs");
Die Vorlage-Engine ist EJS –
Ihr Blog.body Prop ist emty/undefined nichts mit zu arbeiten. Stellen Sie sicher, dass es die Zeichenfolge hat –