Javascript 带有Express和jquery的Ajax不起作用
我的应用程序中有一个浏览页面,人们可以在其中添加自己拥有或想要的项目。现在它将重定向回general/browse页面,但我希望该页面完全不刷新。我正试图通过ajax实现这一点,但我对这一点非常熟悉,一直无法让它正常工作。这是我的代码,非常感谢您的帮助:Javascript 带有Express和jquery的Ajax不起作用,javascript,jquery,ajax,express,Javascript,Jquery,Ajax,Express,我的应用程序中有一个浏览页面,人们可以在其中添加自己拥有或想要的项目。现在它将重定向回general/browse页面,但我希望该页面完全不刷新。我正试图通过ajax实现这一点,但我对这一点非常熟悉,一直无法让它正常工作。这是我的代码,非常感谢您的帮助: //HTML file <div> <center><div class="hover">+</div> <div class="hovermenu"><a cl
//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();
});
非常感谢您的帮助 这条线
url: '/addown/' + $(this).('pid'),
有语法错误,我相信您想要获取pid属性
url: '/addown/' + $(this).attr('pid')
在成功回调中,这不是div,在ajax参数中将回调的上下文设置为div use context
url: '/addown/' + $(this).attr('pid'),
context: this,
你说得对!我修正了这一点,所以现在控制台实际上是在做一些事情时显示单击。但是,div没有正确地替换为复选标记。有什么想法吗?我不认为这是您在ajax调用后期望的结果。因此我想说$.addown,但如何指定我想要最初单击的那一个呢?保存它,添加var ref=this;在ajax调用上方,然后是$ref.parent。。。