当函数在子主题上但不在插件页面中时,AJAX工作

时间:2018-02-07 作者:melvin

我有一个ajax,它将一些jQuery变量传递给PHP函数。我的函数应该在类文件中。但ajax无法工作并显示bad request. 但如果我把php函数放在我的子主题中,它就会工作得很好。

这是我的jQuery AJAX

 $.ajax({
      type: \'POST\',
      url: ajaxurl,                        
      data: {
      action: \'thwec_get_element_block_data\',
      block_element_list: block_element_list
    },
     success:function(data){
      alert(\'success\');
      console.log(data);
     },
     error: function(){
      alert(\'error\');
     }
    });
还有我的PHP函数。

 public function __construct() {
        add_action(\'wp_ajax_thwec_get_element_block_data\',array($this,\'get_element_block_data\')); 

        // $this->get_element_block_data();
        // $this->init_constants();
    }

public function get_element_block_data(){
    var_dump("hello");
    exit();
}

1 个回复
最合适的回答,由SO网友:melvin 整理而成

我找到了答案。正如JacobPeattie所问,类的实例已经定义,但没有被调用。虽然包含了类文件,但没有调用实例。感谢大家抽出宝贵的时间。

结束

相关推荐

在处理AJAX调用的PHP脚本中未加载.mo转换字符串

使用标准__(\'some-string\', \'myplugin\') 对于翻译,除了我的AJAX函数之外,每个函数和脚本中都正确加载了日语(ja)语言环境的字符串。my-plugin.php:*Text Domain: myplugin *Domain Path: /languages/ */ add_action( \'init\', \'myplugin_load_textdomain\' ); function myplugin_load_textdomain(