首页 > 解决方案 > Wordpress、管理菜单、Ajax 400 错误请求

问题描述

我正在尝试使用按钮删除数据库行(这是我在管理区域的插件中),但我无法弄清楚为什么我的 ajax 调用不起作用。每次我尝试我都会收到:400 错误的请求。所以我还没有管理它来正确调用函数

这是我的按钮:

<button  class="deletebutton" <?php echo 'value="' . $data->id . '"' ?> class="delete"> delete</button>

我使用:

add_action('wp_ajax_delete_data', 'delete_data');

我的功能:(我知道它可以工作我以前用过很多次

'function delete_data($element_id){
global $wpdb;
$tablename = $wpdb->prefix . 'my_table';
$wpdb->delete($tablename, array('id' => $element_id));

}'

而 Jquery/AJAX <- 这是我认为的问题

<script>
    var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
    jQuery(document).ready(function() {

         jQuery(".deletebutton").click(function(){
            var element_id = this.value;
            jQuery.ajax({
                url: ajaxurl,
                type: 'POST',
                action: 'delete_data',
                data: element_id
                dataType: 'data',

            });
        });
});

    </script>

标签: ajaxwordpresswordpress-plugin-creation

解决方案


您提供了错误的操作名称。在此处查看更多信息

更改此行

`add_action('wp_ajax_worktmp_delete_absence', 'delete_data');`

有了这个

`add_action('wp_ajax_delete_data', 'delete_data');`

推荐阅读