我正在开发一个插件,其中我使用ajax删除和更新有关上传文件的信息..
以下是代码:
//Creating AJAX for saving value in databsae
add_action('wp_ajax_input_value', 'input_value');
add_action('wp_ajax_nopriv_input_value', 'input_value');
add_action('wp_ajax_update_value', 'update_value');
add_action('wp_ajax_nopriv_update_value', 'update_value');
add_action('wp_ajax_delete_value', 'delete_value');
add_action('wp_ajax_nopriv_delete_value', 'delete_value');
add_action('admin_head', 'input_ajax');
function input_ajax()
{
?>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("#submit").click(function () {
var input_method = jQuery('#image_url').val();
var data = {
action: 'input_value',
input_method: input_method
};
jQuery.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function (result) {
// alert(result);
});
});
jQuery(".update").click(function () {
var row = jQuery(this).parents('#list_item');
var update_id = jQuery(this).data('id-update');
var update_link = row.find('.img_link').val();
var update_desc = row.find('.img_description').val();
var update_title = row.find('.img_title').val();
var data = {
action: 'update_value',
id: update_id,
update_link: update_link,
update_desc: update_desc,
update_title: update_title
};
jQuery.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function (result) {
// alert(result);
});
});
jQuery(".delete").click(function () {
var delete_id = jQuery(this).attr('data-id');
var data = {
action: 'delete_value',
id: delete_id
};
jQuery.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function (result) {
// alert(result);
});
});
});
</script>
<?php
}
//Save values in database in "wp_images" table
function input_value()
{
$name = $_POST['input_method'];
global $wpdb;
$wpdb->insert(
'wp_images',
array(
'img_path' => $name
)
);
die();
return true;
}
//Updating values in database in "wp_images" table
function update_value()
{
$id = $_POST['id'];
$link = $_POST['update_link'];
$desc = $_POST['update_desc'];
$title = $_POST['update_title'];
global $wpdb;
$wpdb->update(
'wp_images',
array(
'img_title' => $title,
'img_description' => $desc,
'img_link' => $link
),
array('img_id' => $id)
);
die();
return true;
}
//Deleting values in database in "wp_images" table
function delete_value()
{
$id = $_POST['id'];
global $wpdb;
$wpdb->delete(
'wp_images',
array('img_id' => $id)
);
die();
return true;
}
它会正确删除和更新,但不会立即删除。意味着如果我删除它仍然存在的任何行,但当我刷新页面然后它被删除。我不知道我在哪里做错了。
答案 0 :(得分:0)
到目前为止,您的代码看起来很不错,但您没有使用新响应刷新或清除HTML部分。
您的代码正在通过帖子,但未在您的实际DOM中显示任何新数据,因为您没有编写新的响应代码。