使用Express和jquery的Ajax无法正常工作

时间:2014-04-29 18:27:02

标签: javascript jquery ajax express

我的应用程序中有一个浏览页面,人们可以将项目添加为拥有或想要的项目。现在它正在重定向回到常规/浏览页面,但我希望页面根本不能刷新。我试图通过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();
});

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

这一行

url: '/addown/' + $(this).('pid'),

语法错误,我不相信你想获得pid属性

url: '/addown/' + $(this).attr('pid')

在你的成功回调中,这不是div,在你的ajax params中将回调的上下文设置为div使用context

url: '/addown/' + $(this).attr('pid'),
context: this,