我正在制作一个带有类和方法的插件。
这个类通过主题(硬编码)被调用来排队并本地化我的js。它还为ajax做了准备。然而,我不断得到错误:400
发布http://www.devsite.local/wp-admin/admin-ajax.php
400(错误请求)
我在一个类之外的多个插件和函数中运行过ajax。php没有问题,但我无法让它在类中工作。
这是我的代码:
class CCYTFeatured {
public function __construct(){
$this->cc_yt_scripts();
add_action( \'wp_enqueue_scripts\', array($this, \'cc_yt_scripts\' ));
add_action( \'wp_ajax_cc_yt_featured\', array( $this, \'cc_yt_featured\' ) );
add_action( \'wp_ajax_nopriv_cc_yt_featured\', array( $this, \'cc_yt_featured\' ) );
}
// Load CSS AND JAVA FRONT END
public function cc_yt_scripts() {
wp_register_style( \'cc_yt_style\',
plugins_url( \'/css/cc_yt.css\', __FILE__ ),
array(),
cc_yt_version()
);
wp_enqueue_style(\'cc_yt_style\');
// JAVASCRIPT
wp_register_script( \'cc_yt_javascript\',
plugins_url( \'/js/cc_yt.js\', __FILE__ ),
array(\'jquery\'),
cc_yt_version(),
true
);
wp_enqueue_script(\'cc_yt_javascript\');
wp_localize_script(
\'cc_yt_javascript\',
\'cc_yt_script\',
array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\' , __FILE__ ),
\'ajax_nonce\' => wp_create_nonce(\'my_nonce\'),
)
);
}
public function cc_yt_featured(){
check_ajax_referer( \'my_nonce\', \'security\' );
echo json_encode(\'IM HERE, YOU CAN FIND US\');
}
}
这是我的JavaScript ajax调用:
jQuery.ajax({
url: cc_yt_script.ajaxurl,
type : \'POST\',
data: {
action : \'cc_yt_featured\',
security: cc_yt_script.ajax_nonce,
post: \'bananas\',
},
success: function(response) {
console.log(\'THIS IS THE RESPONSE: \'+ response);
}
});
我不断遇到同样的错误,我无法找出我的班级出了什么问题:
这就是我所说的。
$cc_yt = new CCYTFeatured;
我把这个调用硬编码在一个主题文件中。这会成功地将样式和脚本排入队列。
ajax get如下所示:
http://www.devsite.local/wp-admin/admin-ajax.php?action=cc_yt_featured&security=79e39910b8&post=bananas
有人知道我做错了什么吗??
谢谢