WordPress admin-ajax.php总是返回0

时间:2016-08-10 22:29:47

标签: javascript php jquery ajax wordpress

我写过WordPress ajax插件但是admin-ajax.php总是返回0并且不起作用。

这是我的代码:

add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
add_action( 'wp_ajax_nopriv_example_ajax_request','example_ajax_request' );
wp_enqueue_script( 'test', plugins_url( 'actions/js/test.js', __FILE__ ), array('jquery'), '1.0', true );
wp_localize_script( 'test', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

function example_ajax_request() {
    echo"d";
    die();
}

我的javascrip test.js文件:

jQuery(document).ready(function($) {
    var fruit = 'Banana';
    $.ajax({
        url: ajaxurl,
        data: {
            'action':'example_ajax_request',
            'fruit' : fruit
        },
        success:function(data) {
            console.log(data);
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });

});

这怎么工作?

感谢。

1 个答案:

答案 0 :(得分:1)

您的查询脚本中存在错误:

jQuery(document).ready(function($) {
    var fruit = 'Banana';

    $.ajax({
        url: ajax_object.ajax_url, // =================> HERE is the problem
        data: {
            'action':'example_ajax_request',
            'fruit' : fruit
        },
        success:function(data) {
            console.log(data);
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });

});

您需要将 ajax_object ajax_url 一起使用 wp_localize_script() :< / p>

url: ajax_object.ajax_url,

参考: