我试图在地图上通过ajax在wp主题上创建标记。 经过一番斗争后,我发现我不能使用任何PHP文件通过ajax获取数据,我必须使用admin-ajax.php文件。Wordpress前端Ajax与wp_localize_script错误:ajaxurl没有定义
因此很多例子,这是我的代码
中的functions.phpadd_action('wp_enqueue_scripts', 'add_frontend_ajax_javascript_file');
function add_frontend_ajax_javascript_file()
{
wp_localize_script('frontend_ajax', 'frontendajax', array('ajaxurl' => admin_url('admin-ajax.php')));
wp_enqueue_script('ajax_custom_script', get_stylesheet_directory_uri() . '/includes/ajax-javascript.js', array('jquery'));
}
add_action('wp_ajax_get_post_information', 'get_post_information');
add_action('wp_ajax_nopriv_get_post_information', 'get_post_information');
function get_post_information()
{
$get_this= $_GET['this'];
$get_that= $_GET['that'];
...my select...
echo json formatted data
}
JS文件被加载并工作时,Ajax调用,它停止一个之前做其他的东西错误在这行:
$.post({
url:frontendajax.ajaxurl,
{
action: 'get_post_information',
data: data
},
success: function(response) {
但是我总是有相同的错误:
参考错误:frontendajax.ajaxurl未定义
我的错误在哪里?
PS:我使用get_stylesheet_directory_uri(),因为我在一个儿童主题。
谢谢,我没有意识到我需要使用相同的句柄!为了使它工作,我还必须传递动作函数的名称以及数据(我更新了我的问题) – bluantinoo