Wp中的Ajax仅在index.php中有效,而在footer,php和其他页面中无效

时间:2018-08-06 19:45:18

标签: ajax wordpress

 $.ajax({
        url: '<?php echo admin_url("admin-ajax.php") ?>',
        type: 'POST',
        data: 'action=my', // можно также передать в виде массива или объекта
        success: function( data ) {
            alert( data );
        }
    });

此代码仅在index.php中起作用

1 个答案:

答案 0 :(得分:0)

在WordPress中不能直接使用Ajax请求。

相反,您需要使用如下代码:

JavaScript

var data = {
    'action' : 'my_action'
};

jQuery.post( ajaxurl, data, function(response) {

});

PHP

add_action( 'wp_ajax_my_action', 'my_action_func'  );
add_action( 'wp_ajax_my_action',  'my_action_func');

function my_action_func(){
    echo 'this is result';
    wp_die();
    return;
} 

注意:将JavaScript是.js文件中的代码,ajaxurl应该在ajax请求之前定义。