尽管我复制并粘贴了wp_localize_script的WP文档示例,所以我可以在其中使用常量ajax_url, $ .ajax函数作为参数,我不断收到“ ajax_url未定义”错误。这是functions.php中的代码:
add_action( 'admin_enqueue_scripts', 'my_enqueue' );
function my_enqueue($hook) {
if( 'index.php' != $hook ) {
// Only applies to dashboard panel
return;
}
wp_enqueue_script( 'ajax-script', plugins_url( '/js/myScript.js', __FILE__ ), array('jquery') );
// in JavaScript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
wp_localize_script( 'ajax-script', 'ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'we_value' => 1234 ) );
}
为什么?
答案 0 :(得分:0)
值得指出的是,在您的示例中,仅当通过管理面板访问脚本时,脚本才被本地化。如果您想从站点的前端访问ajax函数,则需要将第一行更改为此:
add_action( 'wp_enqueue_scripts', 'my_enqueue' );
然后,您还必须删除函数中的第一个'if'语句。
很难说这是解决方案,而没有看到试图调用ajax函数的代码,但这是根据您向我们展示的内容而得出的最好的猜测!