在AJAX回调函数中看不到类属性?

时间:2017-03-31 作者:dingo_d

我有一个类,其中包含ajax回调,以及__construct() 那个级别的。在实例化时,我还将属性传递给类。看起来有点像这样

<?php

class My_Class{

    private $passed_string;

    public function __construct( $passed_string ) {
        $this->$passed_string = $passed_string;

        add_action( \'wp_ajax_my_callback\', array( $this, \'my_callback\' ) );
    }

    public function my_callback() {

        error_log( print_r( $this->$passed_string, true ) );
        wp_die();
    }

}

$init = new My_Class( \'Passed string!\' );
现在,当我使用ajax调用此函数时,这应该显示在我的错误日志中。但它是空的。

回调有效(已测试)。

问题是,当在一个内部有方法的类似类中执行此操作时,它不会连接到wp_ajax 钩住它,我看到传递的字符串很好。

怎么会这样?

1 个回复
SO网友:scott

您以前使用过AJAX吗?你知道这个首字母缩略词代表什么吗?提示:TheJ 代表javascript. 实际上,AJAX通常使用javascript/jQuery调用。我相信这就是为什么您没有收到响应:您没有调用AJAX协议或通过Wordpress的admin AJAX。php。

还有,为什么要首先在构造函数中放置回调函数?

相关推荐

无法使用AJAX访问数据库中的数据

我正试图在wordpress中首次调用AJAX。我遵循了一些教程,到目前为止已经达到了这一点。但当我试图安慰的时候。将从数据库中获取的数据记录在AJAX调用中,我发现以下错误:未捕获引用错误:未定义数据代码:功能。phpfunction my_ajax_handler(){ global $wpdb; $name = $wpdb->get_results(\"SELECT * FROM username\"); echo $name;