我在wordpress中测试ajax,它基本上有效,但我不想让url被硬编码,所以我尝试使用wp_localize_script来获取一个对象,但我得到一个错误说:“ReferenceError:WPURLS不是定义“在ajax_script.js中警告siteurl。
的functions.php
function my_scripts_method() {
wp_enqueue_script(
'ajax_script',
get_stylesheet_directory_uri() . '/js/ajax_script.js',
array( 'jquery' )
);
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
wp_localize_script('ajax_script', 'WPURLS', array( 'siteurl' => get_option('siteurl') ));
ajax_script.js
$(function () {
$('#vru-btn').click(function() {
// alert('code');
$.post( 'wp-content/themes/wpcleantheme/ajax/test.php', function(data) {
$('#vru-div').html(data);
});
});;
alert(WPURLS.siteurl);
});
答案 0 :(得分:0)
wp_localize_script('ajax_script','WPURLS',数组('siteurl'=> get_option('siteurl')));
然后在脚本中:
WPURLS.siteurl将包含网址。
当调用wp_localize_script时,它会获取您的数据并以对象形式将其传递给脚本。
另外请记住,在脚本注册和排队后需要调用localize_script。