Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery WP AJAX,AJAX\u url常量未定义错误_Jquery_Ajax_Wordpress - Fatal编程技术网

Jquery WP AJAX,AJAX\u url常量未定义错误

Jquery WP AJAX,AJAX\u url常量未定义错误,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,尽管我复制并粘贴了WP_localize_脚本的WP文档示例,因此我可以在其中使用常量ajax_url, $.ajax函数作为参数,我一直收到“ajax\u url未定义”错误。以下是functions.php中的代码: add_action( 'admin_enqueue_scripts', 'my_enqueue' ); function my_enqueue($hook) { if( 'index.php' != $hook ) { // Only applies

尽管我复制并粘贴了WP_localize_脚本的WP文档示例,因此我可以在其中使用常量ajax_url, $.ajax函数作为参数,我一直收到“ajax\u 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 ) );
}

为什么?

值得指出的是,在您的示例中,只有通过“管理”面板访问脚本时,才会对其进行本地化。如果您想从站点前端访问ajax功能,则需要将第一行更改为:

add_action( 'wp_enqueue_scripts', 'my_enqueue' );
然后还必须删除函数中的第一个“if”语句


如果没有看到您试图调用ajax函数的代码,很难说这是一个解决方案,但这是我根据您向我们展示的内容做出的最佳猜测

没有,还没有解决。你想看更多的代码吗?如果是的话,在其他哪些文件中?我已经解决了这个问题。操作钩子没有出现,因为内部缺少wp_head()命令