0
以下是当有人单击标签元素时调用ajax函数的jQuery部分。我想要做的是从标签元素中获取数据值,将其传递到php函数中,并使用传入的字符串变量运行php函数。 Jquery部分工作正常,我可以发送数据值,但PHP函数甚至没有运行,不知道我做错了什么。Wordpress AJAX,Jquery部分发送数据但PHP函数不运行
$(function(){
$('#catFilter a').on('click', function(e){
e.preventDefault();
$(this).fadeOut(300);
var x = $(this).attr('data-slug');
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
$.ajax({
url: ajaxurl,
type: 'post',
data: {data: x, action: 'filter'},
success: function(data, status) {
console.log(x);
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
}); // end ajax call
});
});
而PHP部分,我想将数据值从A标记元素添加到PHP数组中,然后使用传入的参数运行该函数。
function filter(){
$x = $_POST['data'];
array_push($needleArray, $x);
post_filter();
die();
}
add_action('wp_ajax_filter', 'filter');
add_action('wp_ajax_nopriv_filter', 'filter');
ajax'type'应该是post方法。另外我强烈建议你不要使用die()命令。 – l0ul0u
我使用它,因为显然你在做Wordpress AJAX时需要它在PHP函数中。此外,我改变了类型的方法,似乎仍然没有工作。 javascript部分的确将数据发送到AJAX.php文件,但在functions.php中的PHP甚至没有运行似乎。我将它设置为回应它收到的任何内容,而且它似乎不会回应任何内容。 –