Wordpress Frontend Ajax with wp_localize_script Error: ajaxurl is not defined
Wordpress Frontend Ajax with wp_localize_script Error: ajaxurl is not defined
我正在尝试通过 ajax 在 wp 主题上在地图上创建标记。
经过一番努力,我发现我无法使用任何 php 文件通过 ajax 获取数据,我必须使用 admin-ajax.php 文件。
根据很多例子,这是我的代码
在functions.php
add_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() 因为我在儿童主题中。
IMPORTANT! wp_localize_script() MUST be called after the script it's being attached to has been registered using wp_register_script() or wp_enqueue_script().
和句柄必须相同:
wp_enqueue_script( 'ajax_custom_script', get_stylesheet_directory_uri() . '/includes/ajax-javascript.js', array('jquery') );
wp_localize_script( 'ajax_custom_script', 'frontendajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
我正在尝试通过 ajax 在 wp 主题上在地图上创建标记。经过一番努力,我发现我不能使用任何 php 文件通过 ajax 获取数据,我必须使用 admin-ajax.php 文件。
admin_url('admin-ajax.php')
));
});
?>
我正在尝试通过 ajax 在 wp 主题上在地图上创建标记。 经过一番努力,我发现我无法使用任何 php 文件通过 ajax 获取数据,我必须使用 admin-ajax.php 文件。
根据很多例子,这是我的代码
在functions.php
add_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() 因为我在儿童主题中。
IMPORTANT! wp_localize_script() MUST be called after the script it's being attached to has been registered using wp_register_script() or wp_enqueue_script().
和句柄必须相同:
wp_enqueue_script( 'ajax_custom_script', get_stylesheet_directory_uri() . '/includes/ajax-javascript.js', array('jquery') );
wp_localize_script( 'ajax_custom_script', 'frontendajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
我正在尝试通过 ajax 在 wp 主题上在地图上创建标记。经过一番努力,我发现我不能使用任何 php 文件通过 ajax 获取数据,我必须使用 admin-ajax.php 文件。
admin_url('admin-ajax.php') )); }); ?>