javascript – jQuery提交刷新页面

以下代码旨在执行纯粹的ajax POST请求,而不是它似乎通过ajax执行POST,然后浏览器导航到响应.

HTML

<div id="bin">
    <form class="add" method="post" action="/bin/add/">
        <p>I'm interested! Save for later.</p>
        <input type="hidden" name="product_id" value="23423">
        <input type="submit" value="Save">
    </form> 
    <form style="display:none;" class="remove" method="post" action="/bin/remove/">
        <p>I changed my mind--I'm not interested.</p>
        <input type="hidden" name="product_id" value="23423">
        <input type="submit" value="Unsave">
    </form>
</div>

jQuery ……

$('#bin form').submit(function() {
                $.post($(this).attr('action'),{
                    success: function(data) { $(this).hide().siblings('form').show() },
                    data: $(this).serialize()

                });
                return false;
            })

据我了解,返回虚假; line应该意味着无论如何,对提交功能的任何调用或点击“提交”按钮或点击输入意味着我的功能将执行,浏览器将不会导航到/ bin / add或/ bin / remove.但由于某种原因,浏览器正在改变页面.

知道我在这里做错了吗?谢谢.

最佳答案
我打赌这是因为$(这个),试试这个……

$('#bin form').submit(function() {
    var $this = $(this);
    $.post($this.attr('action'), {
        success: function(data) {
            $this.hide().siblings('form').show()
        },
        data: $this.serialize()

    });
    return false;
});

demo没有错误

demo有错误

转载注明原文:javascript – jQuery提交刷新页面 - 代码日志