Need help with ajax

时间:2018-02-26 作者:Nate Nguyen

我已经在wordpress上使用PHP和纯Javascript有一段时间了,但我从来没有使用过AJAX。目前,我正在尝试从我的wordpress页面中调用ajax,方法是将ajax JS代码直接放入页面,尝试从ajax文件调用PHP函数。php(与functions.php相同的目录)

我已经在网上阅读了很多关于这一部分的教程,但都没有成功。即使只是调用一个简单的PHP函数来回应“Hello World”,对我来说也行不通。我确信这部分不需要任何“排队”(因为我将JS代码直接放在页面中)。

如果有人能告诉我如何使用Javascript进行一个非常简单的AJAX调用,从服务器激活PHP函数(一个非常简单的示例将非常有用),我将不胜感激。

2 个回复
SO网友:Morgan Estes

这个WordPress Plugin Developer Handbook 有关于如何在插件(和主题)中使用Ajax的背景信息和代码示例。读一读,它会让你走上正确的道路。

SO网友:Xhynk

这里有一个非常简单的AJAX调用。

注意标准wp_ajax_{action_name} 仅对登录用户激发。如果还需要侦听非登录用户发出的Ajax请求,则需要使用wp_ajax_nopriv_{action_name}

JS公司:

$(\'body\').on(\'click\', \'.your-button\', function(){
    var data = {
        \'action\': \'nam_nguyen_hook\',
    };

    $.post(ajaxurl, data, function(response) {
        alert( response.message );
    }, \'json\');
});
PHP:
add_action( \'wp_ajax_nam_nguyen_hook\', \'nam_nguyen_hook\' );
add_action( \'wp_ajax_nopriv_nam_nguyen_hook\', \'nam_nguyen_hook\' );

function nam_nguyen_hook() {
    $response = array();

    $response[\'status\']  = 200;
    $response[\'message\'] = \'Successfully sent an AJAX request\';

    echo json_encode( $response );
    wp_die();
}
如果有一个元素class="your-button" 在您的admin中,单击它-您应该会收到“成功发送AJAX请求”消息。

还请注意,您需要确保ajax.php 需要或包含文件。否则,只需在functions.php 文件

结束

相关推荐

如何在将短码属性存储为类变量的类中实现AJAX

我正在尝试编写一个OOP插件,将我的shortcode参数传递给类,将它们存储为类变量,然后在AJAX调用中使用它们。以下是一个示例:class WPAJAXClassTest { private $message; public function __construct() { add_action(\'wp_enqueue_scripts\', array($this,\'enqueue_scripts\')); add_