【发布时间】:2023-02-04 22:37:16
【问题描述】:
我写了一个节点 js 脚本,我在其中使用 ajax 请求来获取数据。我在 mongoose 中有两个文档,一个是用户,另一个是在集合中发布。现在,当我通过登录用户创建帖子并且 ajax 在 dom 中加载数据时,我得到的用户名是未定义的。我无法为此找到解决方案。这是我的代码
let createPost = function(){
let newPostForm = $('#new-post-form');
newPostForm.submit(function(e){
e.preventDefault();
$.ajax({
type:'POST',
url:'/posts/create-post',
data: newPostForm.serialize(),
success: function (data) {
console.log(data);
let postData = createNewPostDom(data.data.post);
$('#posts-list-container>ul').prepend(postData);
deletePost($('.delete-post-button',postData))
},
error:function(error){
console.log(error.responseText);
}
})
});
}
现在进入另一个显示用户名的功能
let createNewPostDom = function(post){
return $(`<li id="post-${ post._id}">
<small><a class="delete-post-button" href="posts/delete/${post._id}">Delete</a></small>
<h2>${post.content }</h2>
<small> ${ post.user.name } </small>
<div class="post-comments">
Enter comment
<form action="/comments/create" id="new-comment-form" method="post">
<input
type="text"
name="content"
placeholder="enter comment"
required
/>
<input type="hidden" name="post" value="${ post._id }" required />
<input type="submit" name="Post comment" />
</form>
<div class="post-comment-list">
</div>
</div>
</li>`);
代码 ${ post.user.name } 给了我未定义的值。为此需要帮助。
【问题讨论】:
标签: javascript node.js ajax