2016-06-13 35 views
0

我正在開發中,我使用AJAX的刪除和更新有關上傳的文件信息的插件正常工作..Ajax不是在WordPress

以下是代碼:

//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

put location.reload();你的警報(結果)在哪裏;代碼是 –

回答

0

到目前爲止,您的代碼看起來不錯,但您並沒有使用新響應刷新或清除HTML部分。

您的代碼正在閱讀帖子,但沒有在您的實際DOM中顯示任何新數據,因爲您沒有編碼該新響應。