我的应用程序中有一个浏览页面,人们可以将项目添加为拥有或想要的项目。现在它正在重定向回到常规/浏览页面,但我希望页面根本不能刷新。我试图通过ajax做到这一点,但我是超级新的,并且无法让它工作。这是我的代码,我非常感谢您的帮助:
//HTML file
<div>
<center><div class="hover">+</div>
<div class="hovermenu"><a class="addown" pid="<%= p[i].id %>" href="#">✔</a></a></div></center>
</div>
$(".addown").click(function(e){
$.ajax({
type: 'POST',
url: '/addown/' + $(this).('pid'),
dataType: 'json',
success: function() {
$(this).parent().parent().replaceWith('<center><span>✔</span></center>')
}
})
e.preventDefault();
});
//Server side
app.post('/addown/:id', function(req, res) {
req.user.owned.addToSet(req.params.id);
req.user.save();
res.end();
});
非常感谢任何帮助!
答案 0 :(得分:0)
这一行
url: '/addown/' + $(this).('pid'),
语法错误,我不相信你想获得pid属性
url: '/addown/' + $(this).attr('pid')
在你的成功回调中,这不是div,在你的ajax params中将回调的上下文设置为div使用context
url: '/addown/' + $(this).attr('pid'),
context: this,