Ajax submit comments

时间:2011-09-06 作者:gaoshan88

我想通过ajax提交评论。单击comment submit按钮,通过jquery的ajax方法和结果发布评论(“等待审核…”)显示在页面上。

我进入了剧本。js文件,并为按钮添加了一个单击处理程序。它验证并执行ajax提交,但这不起作用。单击提交评论仍会重定向到wp评论帖子。php页面。

让它发挥作用的秘诀是什么?

以下是我在脚本中的内容。js公司:

$("#my_comment_form").validate({
        submitHandler: function(data){
            $.ajax({
                type: "POST",
                url: "../wp-comments-post.php",
                data: data,
                success: function(){
                    $( ".form_success" ).dialog( "open" );
                },
                error: function(){
                    console.log(\'oh snap!\');
                },
                complete: function(){
                    console.log(\'complete\');
                }
            });
        },
       errorContainer: ".errors",
       rules: {
         email: {
           email: true
         }
       }
    });
编辑:我的问题源于传回的数据不完整或有错误。这导致submitHandler出错,然后触发内置操作(内置于Wordpress的注释生成代码中)。通过首先传递正确的数据并处理submitHandler的错误方法中可能出现的任何错误,我能够使用上面的代码进行操作。

3 个回复
最合适的回答,由SO网友:byronyasgur 整理而成

如果您要自己编写代码,您可能会发现这些链接很方便

http://byronyasgur.wordpress.com/2011/06/27/frontend-forward-facing-ajax-in-wordpress/http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/

我敢肯定你的URL是错的url: "../wp-comments-post.php" - wordpress中的ajax必须(非常奇怪地)发送到/通过admin-ajax.php (即使它不在管理端)。如果你读了第一个链接,就会有相当详细的解释。发送数据的方式有点奇怪,但似乎就是这样(尽管两篇帖子的评论中都提到了一些新的发展)

SO网友:Niraj Chauhan

您可以使用一些插件来完成AJAX工作

Ajax Comment Posting

WordPress Ajax Comments Inline

AJAX Comments

只是一个建议,如果你不想编码的话。

SO网友:OzzyCzech

尝试我的Ajax评论提交解决方案https://gist.github.com/OzzyCzech/5038455 使用Wordpress 3+

结束