WP AJAX,ajax_url常量未定义错误

时间:2018-07-18 18:49:17

标签: jquery ajax wordpress

尽管我复制并粘贴了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 ) );
}

为什么?

1 个答案:

答案 0 :(得分:0)

值得指出的是,在您的示例中,仅当通过管理面板访问脚本时,脚本才被本地化。如果您想从站点的前端访问ajax函数,则需要将第一行更改为此:

add_action( 'wp_enqueue_scripts', 'my_enqueue' );

然后,您还必须删除函数中的第一个'if'语句。

很难说这是解决方案,而没有看到试图调用ajax函数的代码,但这是根据您向我们展示的内容而得出的最好的猜测!