html 无法在主页上显示帖子

qfe3c7zg  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(132)

我正在创建一个博客。我试图让我的帖子的输出显示在我的“新闻提要”。我没有得到任何错误时,执行,但帖子不会显示在页面上。

发布.js

router.get("/", (req,res,next) => {
        
})

router.post("/", async(req,res,next) => {

    if(req.body.content){
        console.log("Content param not sent with request");
        return res.sendStatus(400);
    }

    var postData = {
        content: req.body.content,
        postedBy: req.session.user
    }

    Post.create(postData)
    .then(async newPost => {
        newPost = await User.populate(newPost, { path: "postedBy"})
    
        res.status(201).send(newPost);
    
    })
    .catch(error => {
        console.log(error);
        res.sendStatus(400);
    })
})

module.exports = router;

通用.js

$("#submitPostButton").click(() => {
    var button = $(event.target);
    var textbox = $("#postTextarea");

    var data = {
        conent: textbox.val()
    }

    $.post("/api/posts",data,postData => {
        var html = createPostHtml(postData);
        $(".postsContainer").prepend(html);
        textbox.val("");
        button.prop("disabled", true);
    })
})

function createPostHtml(postData){
    return postData.conent;
}

PUG代码:

extends layouts/main-layout.pug

block content 
    +createPostForm(userLoggedIn)
    .postsContainer

同样,我在控制台中没有得到任何错误。数据只是没有显示在页面上。

hs1ihplo

hs1ihplo1#

我认为你需要使用async/await paradagm,尝试替换

try {
    const newPost = await Post.create(postData)
    const newPostWithUser = await User.populate(newPost, { path: "postedBy"})
    res.status(201).send(newPost);
}
catch(error) {
    console.log(error);
    res.sendStatus(400);
}

在这之后,检查你的前端代码,看看数据是否从后端返回

相关问题