0
我一直在研究一個項目,它需要我通過查找所選內容的id來查找和更新我的數據庫,但由於某種原因,它給了我一個錯誤「can not讀未定義」節點錯誤:無法讀取屬性undefined
這裏屬性「ID」是用戶想選擇去按鈕
<h1><%=term%></h1>
<article>
<% for(var i = 0; i < bars.length; i++){ %>
<section>
<div class="bars">
<p class="names"><a href = <%=bars[i].url%>><%= bars[i].name %></a></p></br>
<div class="image"><img src=<%=bars[i].image_url%> width="150px"></img></div></br>
<a id="<%= bars[i].id %>" class="going btn btn-primary"><%=bars[i].totalAttending%> Going</a></br>
<%= bars[i].location.address1 %></br>
<%= bars[i].rating %></br> //user is suppose to select here
</div>
</section>
<%}%>
</article>
這裏是我的,其選擇的對象和index.js文件中的代碼我.ejs文件返回ID
$(document).ready(() => {
$('.going').click(function() {
$.ajax({
type: "POST",
url: '/auth/github',
data: {
id: $(this).attr('id')
},
success: function (data) {
if (data === 'done') {
location.reload();
} else {
alert(data)
}
}
});
});
$(' input[type="submit"]').click(function(){
localStorage.lastSearch = $('input[type="text"]').val()
});
});
這裏是我如何使用ID來更新我的數據庫
router.post('/', (req, res) => {
//First check to see if user is attending that bar, if so decrement
Venue.findOneAndUpdate({
id: req.data.id,
totalAttending: 1,
usersAttending: req.user.username || req.user.displayName
},
{ $set: { 'totalAttending': 0 } },
{ new: true },
(err, venue) => {
if (err) throw err;
if (!venue) {
Venue.findOneAndUpdate({ id: req.data.id },
{ $inc: { 'totalAttending': 1 }, $addToSet: { 'usersAttending': req.user.username || req.user.displayName } },
{ new: true },
(err, venue) => {
if (err) throw err;
res.send('done');
});
} else {
res.send('done');
}
}
);
});
有誰知道爲什麼它會返回錯誤,我怎麼能解決呢?
非常感謝,@ C.Amirani,原來我也忘了在我的server.js文件中使用body-parser,現在一切正常。 –