wordpress对php函数的Ajax调用不';行不通
我已经尝试了很多不同的方法,但是我就是不能用Wordpress实现AJAX。我显然没有得到什么,但我不知道它是什么。始终在admin-ajax.php 0上获得结果wordpress对php函数的Ajax调用不';行不通,php,wordpress,Php,Wordpress,我已经尝试了很多不同的方法,但是我就是不能用Wordpress实现AJAX。我显然没有得到什么,但我不知道它是什么。始终在admin-ajax.php 0上获得结果 public function enqueue_scripts() { wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/jquery-3.3.1-public.js', array( 'jquery' ), "3
public function enqueue_scripts() {
wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/jquery-3.3.1-public.js', array( 'jquery' ), "3.3.1", false );
wp_enqueue_script( 'ajax-script', plugin_dir_url( __FILE__ ). 'js/wp-public.js', __FILE__, array() , $this->version, true);
wp_localize_script( 'ajax-script', 'ajax_object',
array(
'ajax_url' => admin_url( 'admin-ajax.php')
)
);
}
wp public.js
$(document).ready(function()
{
$(".like-btn, .dislike-btn").click(function()
{
var id = this.id; // Getting Button id
var split_id = id.split("_");
var text = split_id[0];
var postid = split_id[1]; // postid
// Finding click type
var type = 0;
if(text == "like-btn") {
type = 1;
}else {
type = 0;
}
// AJAX Request
$.ajax(
{
url: ajax_object.ajax_url,
type: 'post',
data: {
'action': 'my_action',
postid: postid,
type: type
},
dataType: 'json',
success: function(data) {
$("#likes_"+postid).text(data.likes); // setting likes
$("#unlikes_"+postid).text(data.unlikes); // setting unlikes
$("#msg_"+postid).text(data.msg); // setting messages
if (data.likes || data.unlikes > "") {
if(type == 1) {
$("#like-btn_"+postid).css("color", "#0757fe");
$("#dislike-btn_"+postid).css("color", "#8e8e8e");
}
if(type == 0) {
$("#dislike-btn_"+postid).css("color", "#f1476e");
$("#like-btn_"+postid).css("color", "#8e8e8e");
}
}
}
}
);
}
);
}
);
$this-> loader-> add_action ("wp_ajax_my_action", $ plugin_public, "ajax_object");
包含类
class Wp_Ahb_Content {
public function __construct( ) {
add_action('wp_ajax_my_action','my_action');
add_action('wp_ajax_nopriv_my_action','my_action');
}
function my_action() {
global $wpdb;
$whatever = $_POST['postid'] ;
echo "postid".$whatever;
}
变量已成功发送,无应答
屏幕截图
[阿贾克斯回应][1]
[ajax_object][2]
[1]: https://i.stack.imgur.com/KlmJ7.jpg
[2]: https://i.stack.imgur.com/TO5i9.jpg
My_操作功能未运行 只需从uuu构造()中删除add_action,并将它们添加到加载器
add_action ('wp_ajax_my_action', 'my_action');
add_action ('wp_ajax_nopriv_my_action', 'my_action');
我变成了这样:在私有函数define\u public\u hooks()上
它开始运作
我只是想澄清一下,因为我发现了很多问题
关于Wordpress插件样板文件,My_action函数未运行 只需从uuu构造()中删除add_action,并将它们添加到加载器
add_action ('wp_ajax_my_action', 'my_action');
add_action ('wp_ajax_nopriv_my_action', 'my_action');
我变成了这样:在私有函数define\u public\u hooks()上
它开始运作
我只是想澄清一下,因为我发现了很多问题
关于Wordpress插件样板文件,使用
wp_die()也很有帮助代码>在操作结束时。在某些情况下,可能需要返回正确的响应。作为参考,使用wp_die()代码>在操作结束时。在某些情况下,可能需要返回正确的响应。