我使用的是wordpress ajax,下面的代码没有传递参数值metakey: id
到$_POST["metakey"]
. 所以var_dump($_POST)
显示array(0) { }
和$_REQUEST
显示array()
如果我在PHP函数中输入变量的静态值$key=<any meta
key>
那就好了
jQuery(".selectbox").change(function(){
var id = this.id;
// do a POST ajax call
$.ajax({
type: "POST",
url: \'<?php echo admin_url(\'admin-ajax.php\'); ?>\',
data: ({
action: "get-mata-value",
metakey: id
}),
success: function( response ) {
jQuery.each(response ,function(index,value){
jQuery(\'#\' +id).append(\'<option value="\'+value+\'">\'+value+\'</option>\');
});
}
});
});
PHP:add_action("wp_ajax_get-mata-value", "get_mata_value");
add_action("wp_ajax_nopriv_get-mata-value", "get_mata_value");
function get_mata_value()
{
global $wpdb;
$key=$_POST["metakey"];
$result=
$wpdb->get_col( $wpdb->prepare(
"
SELECT DISTINCT meta_value
FROM $wpdb->postmeta
WHERE meta_key = %s
",
$key
) );
return($result);
exit();
}
编辑:在chrome developer tool下我看到了
jquery。js?ver=1.12.4:4 XHR完成加载:后
出现以下错误:
jquery。js?ver=1.12.4:2未捕获类型错误:无法使用“in”运算符在中搜索“length”