在未运行的类中添加操作,始终返回0

时间:2015-07-10 12:47:40

标签: ajax wordpress class

我试图在我的自定义类中运行ajax操作,但它似乎没有调用所有操作(实际上是类方法)。脚本加载良好,意味着包含类并实例化。

class Myclass {

    public function __construct() {

        add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) );
        add_action( 'wp_ajax_loadmore', array( $this, 'loadmore' ) );
        add_action( 'wp_ajax_nopriv_loadmore', array( $this, 'loadmore' ) );

    }

    public function scripts() {

        wp_register_script( 'filter', 'assets/js/filter.js', array( 'jquery' ), null, true );
        wp_enqueue_script( 'filter' );
        wp_localize_script( 'filter', 'filter', array(
            'ajaxurl'        => admin_url( 'admin-ajax.php' ),
            'loadmore_nonce' => wp_create_nonce( 'loadmore_nonce' )
        ) );

    }

    public function loadmore() {

        if ( ! check_ajax_referer( 'loadmore_nonce', 'loadmore_nonce', false ) )
            exit;

        @header( 'Content-Type: application/json' );
        echo json_encode( array(
            'foo' => 'bar'
        ) );
        exit;


    }

}

在我的JS文件中,我写了以下内容:

$('#loadmore a').on('click', function(e) {

    e.preventDefault();

    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: filter.ajaxurl,
        data: {
            'action': 'loadmore',
            'loadmore_nonce': filter.loadmore_nonce
        },
        success: function (response) {

            console.log(response);

        }
    });

});

AJAX成功回调始终返回0

  

0来自死(' 0');在admin-ajax.php文件的末尾

0 个答案:

没有答案