Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress jQuery调用未触发_Javascript_Jquery_Wordpress - Fatal编程技术网

Javascript Wordpress jQuery调用未触发

Javascript Wordpress jQuery调用未触发,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我不明白为什么这个ajax调用没有在我的课堂上启动。我想我有点不对劲,或者我必须在初始插件文件中添加动作jQuery调用,还是什么?我不知所措。我把班级建错了还是怎么了?反馈会很好。如果需要,我可以添加其他文件或进行更详细的解释 administration.php class Administration { public function __construct() { // Add Administration Page add_action( 'admi

我不明白为什么这个ajax调用没有在我的课堂上启动。我想我有点不对劲,或者我必须在初始插件文件中添加动作jQuery调用,还是什么?我不知所措。我把班级建错了还是怎么了?反馈会很好。如果需要,我可以添加其他文件或进行更详细的解释

administration.php

class Administration {

    public function __construct() {
      // Add Administration Page
      add_action( 'admin_menu' , array ( $this , 'plugin_admin_add_menu'));
    }

    public function plugin_admin_add_menu() {
      // Administration Page creation
      $hook = add_menu_page(
        'Image Uploader Display',
        'Image Uploader Display',
        'manage_options',
        'image-uploader-display',
        array( $this , 'image_uploader_display_administration_main'), '');

        // Adds styles and scripts to Administration Page
        add_action("load-" . $hook, array( $this, 'image_uploader_display_administration_styles_scripts' ) );
    }

    public function image_uploader_display_administration_main() {
        require_once ( PLUGIN_FOLDER . '/administration/templates/main.php' );
    }

    public function image_uploader_display_administration_styles_scripts(){
      wp_enqueue_style('image-uploader-display-administration', PLUGIN_DIR . 'administration/css/image-uploader-display-administration.css', array(), '0.0.0', 'all');
      wp_enqueue_script( 'image-uploader-display-administration', PLUGIN_DIR . 'administration/js/image-uploader-display-administration.js', array('jquery'), null, true);
      wp_localize_script( 'image-uploader-display-administration', 'set_post_types', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

      **Adding action ->** add_action( 'wp_ajax_set_post_types', array( $this, 'image_uploader_display_administration_set_post_types' ) );      
    }

    public function image_uploader_display_administration_set_post_types() {
      echo "Set Post Types Ajax Return";
      wp_die();
    }

}

$IUDadministration = new Administration();
image-uploader-display-administration.js

(function($) {
  $("#admin-iud #set_post_types").on('click', function(){
    // alert("Here works");
    $.ajax({
        url: set_post_types.ajax_url,
        type: 'POST',
        data: {
          action: set_post_types
        },
        success: function(response) {
            alert(response);
        }
    });
  })
})(jQuery);
image-uploader-display.php(初始插件文件)


很明显,某些设置错误或者我不知道应用程序中包含了什么…

jQuery
?或者你的控制台中有任何错误吗?试试这样的钩子可以解决你的问题-----对于管理员站点,你可以直接在
jQuery
代码中使用
ajaxurl
,无需对其进行本地化,因为在admin WP中默认加载该变量,希望这能让你快速返回。包括jQuery。投赞成票的答案是不正确的。控制台里有400个错误的请求。我修好了。谢谢各位。我没有关于动作的引语:“设置帖子类型”。我真的不喜欢WP在任何方面。再次感谢。。。
define('PLUGIN_FOLDER', dirname(__FILE__) );
define('PLUGIN_DIR', plugins_url() . '/image-uploader-display/');
define('PLUGIN_VERSION', '1.0');
define('PLUGIN_BASE_FILENAME', plugin_basename(__FILE__));

class Image_Uploader_Display {

    public function __construct() {

      // Include Administration Page
      include_once( PLUGIN_FOLDER . '/administration/administration.php' );

      //

      //

    }

}

$IUD = new Image_Uploader_Display();
?>