WordPress ajax

在function中定义函数

GET方式

function get_data()
{
    $params = '';
    $result = '';
    if (isset($_GET['action']) && $_GET['action'] == 'get_data') {
        if (isset($_GET['params']) && $_GET['params']) {
            $params = $_GET['params'];
            $result .= '返回内容';
        }
    }
    echo $result;
    die(); //不可省略
}

POST方式

function get_data()
{
    $params = '';
    $result = '';
    if (isset($_POST['action']) && $_POST['action'] == 'get_data') {
        if (isset($_POST['params']) && $_POST['params']) {
            $params = $_POST['params'];
            $result .= '返回内容';
        }
    }
    echo $result;
    die(); //不可省略
}

注册函数

add_action("wp_ajax_get_data", "get_data"); //后台登录
add_action("wp_ajax_nopriv_get_data", "get_data"); //不用后台登录

ajax请求

GET方式

<script>
jQuery(document).ready(function($) {
    $.ajax({
        url: '<?php echo admin_url("admin-ajax.php"); ?>?action=get_data&params=test',
        datatype: "json",
        type: 'get',
        success: function(data) {
            $('#data-content').html(data);
        }
    })
})
</script>

POST方式

<script>
jQuery(document).ready(function($) {
    $.ajax({
        url: '<?php echo admin_url("admin-ajax.php"); ?>',
        datatype: "json",
        type: 'get',
        data: {
            action : 'get_data',
            params : 'test'
        },
        success: function(data) {
        $('#data-content').html(data);
        }
    })
})
</script>

渲染

<div id="data-content"></div>
superbad.cn