jQuery ajax$.post在从验证插件调用时刷新页面

jQuery ajax$.post在从验证插件调用时刷新页面,jquery,ajax,event-handling,Jquery,Ajax,Event Handling,我不知道这里发生了什么,但不知怎么的,当我调用$时,我的页面正在刷新/重定向。在验证插件中的submitHandler内部发布。后端只是返回一个HTTP状态码200 这是我的密码: $('form[name=comment]').validate({ submitHandler: function(form) { $('#postComment').attr('disabled', 'disabled'); $.post('/blog/comments/c

我不知道这里发生了什么,但不知怎么的,当我调用
$时,我的页面正在刷新/重定向。在验证插件中的
submitHandler
内部发布
。后端只是返回一个HTTP状态码
200

这是我的密码:

$('form[name=comment]').validate({
    submitHandler: function(form) {
        $('#postComment').attr('disabled', 'disabled');
        $.post('/blog/comments/create/', form.serialize(), function() {
            prependComment(form);
            return false;
        }).error(function() {
            alert('There was an issue when submitting this comment.');
        }).complete(function() {
            $('#postComment').removeAttribute('disabled'); 
        });
        return false;
    }
});
这是HTML

<form action="/blog/comments/create/" name="comment" method="post">

    <input type="hidden" name="post" value="1"/>
    <ul>
        <li>                    
            <input type="text" name="name" value="Your name" class="required"/>
        </li>
        <li>
            <textarea name="message" rows="10" cols="55" class="required"></textarea>
        </li>
        <li>
            <button type="submit" id='postComment' class="primary">Post comment</button>
        </li>
    </ul>
</form>

  • 发表评论

零件
form.serialize()
应为
$(form.serialize()
)。
表单
变量是一个。

旁注-很好的化身。您是否尝试过
返回false在你的
提交者中
?我做了。我甚至在submitHandler内部设置了一个断点。一旦调用$.post,它就会将页面重定向到表单的操作。此外,你的头像同样吸引人。:)您正在使用哪个jQuery验证器?此部分
form.serialize()
可能需要是
$(form.serialize()
)。