Javascript 带有Express和jquery的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

我的应用程序中有一个浏览页面,人们可以在其中添加自己拥有或想要的项目。现在它将重定向回general/browse页面,但我希望该页面完全不刷新。我正试图通过ajax实现这一点,但我对这一点非常熟悉,一直无法让它正常工作。这是我的代码,非常感谢您的帮助:

//HTML file
<div>
    <center><div class="hover">+</div>
    <div class="hovermenu"><a class="addown" pid="<%= p[i].id %>" href="#">&#10004;</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>&#10004;</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。。。