未经测试,但天哪,它可能只是工作。。。
javascript文件:
jQuery( document ).ready(function() {
jQuery.ajax({
url: // !! hardcode the URL of WP admin-ajax.php here, since you don\'t want to use wp_localize_script() to pass it in...
type: \'POST\',
data:{
action: \'some_action\', // this is the function (via wp_ajax_ hook) that will be triggered
},
success: function( data ){
var returned_data = JSON.parse(data);
}
}); // jQuery.ajax
});
php文件:
wp_enqueue_script( \'my-ajax-js\', \'url of my .js file\', array(\'jquery\'), "1.0.0", true);
function get_some_variables() {
$return_data = array("one","two","three","four");
echo ( json_encode($return_data) );
wp_die();
}
add_action( \'wp_ajax_some_action\', \'get_some_variables\' );
(编辑)我应该添加。。对于某些php变量来说,单向访问浏览器会带来很大的开销。我很好奇为什么你不想
wp_localize_script()
?
将php变量放入DOM的另一种鲁莽的牛仔方式是将JSON编码的字符串回显到隐藏的<div>
, 然后使用js从该div中提取内容。对于少量数据,您不在乎这些数据是否以纯文本形式公开。。。这也行得通。