使用原生jQuery AJAX风格而不是使用admin-ajax.php有什么问题吗?

时间:2012-01-25 作者:Obhaso

我在使用管理ajax时遇到问题。php创建一个插件。我在使用oop模块的插件中使用“add\\u action(\'wp\\u ajax\\u ajax\\u action\',\'ajax\\u action\\u stuff\')”时遇到问题。因此,我想使用jquery原生方式,如下所示:

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});
Wordpress建议使用admin ajax。处理ajax请求的php。有什么具体原因吗。如果使用原生jquery ajax方式,我会遇到任何问题吗。

2 个回复
SO网友:Jared

我在很多应用程序中都使用过这种方法,直到我发现admin-ajax.php, 简单地说,不,我认为这不会造成任何问题。

尽管我建议使用WordPress描述的方法!在我看来,它要容易得多,并且与您描述的方法几乎相同(或更好)。

SO网友:Bainternet

我可以想到几个原因,但最重要的两个原因是:

数据安全,看看this answer至于在OOP开发中使用ajax,您可以像往常一样钩住回调函数,但要在回调参数中添加带实例的数组,例如:

add_action( \'wp_ajax_ajax_action\', \'ajax_action_stuff\');
类内部成为

add_action( \'wp_ajax_ajax_action\', array($this,\'ajax_action_stuff\' ));

结束

相关推荐

在WP-Admin中修改“最近评论”列表

这可能有点棘手,但我正在寻找一种方法,使wp admin上的最近评论小部件更有用/更受操作驱动。我希望能够过滤,只显示悬而未决的评论(因为这些需要对他们采取行动)。我在第45行看到wp-admin/includes/dashboard.php 有:// Recent Comments Widget if ( is_blog_admin() && current_user_can(\'moderate_comments\') ) { if ( !iss