wp_ajax_my_action不会调用my_action

时间:2014-12-22 13:12:25

标签: ajax wordpress-plugin

我在wordpress插件上遇到了问题。我按照所需的步骤使用AJAX在我的gallery插件上添加图像,但是jQuery.post并没有调用我的php函数。我为javascript部分使用了一个名为gallery.js的独立文件。将显示javascript文件中的控制台日志,但不会显示add_image_ajax_callback php函数中的控制台日志。

以下是我的上传脚本:

wp_enqueue_script('gallery_widget',plugin_dir_url(__FILE__).'gallery.js', array('jquery'));

wp_localize_script( 'gallery_widget', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

这是我的行动声明:

add_action( 'wp_ajax_add_image_ajax_request', 'add_image_ajax_callback' );

我不需要使用wp_ajax_nopriv_add_image_ajax_request,因为我必须登录才能执行此操作

这是gallery.js文件:

$(".admin_gallery_photo_add").on("click", function() {
    console.log("click");
    var data = {
        'action':'add_image_ajax_request',
        'urlImg' : 'test'
    }

    // This does the ajax request
    jQuery.post(
        ajax_object.ajax_url,
        data,
        function(response) {
            // This outputs the result of the ajax request
            var str2 = "data action: ";
            console.log(str2.concat(data["action"]));
            var str2 = "data urlImg: ";
            console.log(str2.concat(data["urlImg"]));
        }

    );  

});

最后是add_image_ajax_callback php函数:

?>
<script>
    console.log("add_image_ajax_request"); 
    alert("lol");
</script>
<?php
echo "lol";

我在这个论坛中发现了一个类似的帖子,但我没有有效的答案,这篇文章是两年前发表的(我无法评论):WordPress WP_ajax not working

0 个答案:

没有答案