2014-10-07 121 views
1

我需要一些幫助,在我的問題。 我有一個用戶列表,我想在CI HMVC中使用ajax刪除用戶onclick的刪除按鈕。這裏是我的列表視圖代碼Codeigniter HMVC Ajax

$(function() { 
    $(".tip-del").click(function() { 
     var recId = $(this).data("id"); 
     var parent = $(this).parent(); 
     var BASE_URL = "<?php echo base_url()?>"; 
     var r = confirm("Are you sure you want to delete this user?"); 
     if(r == true){ 
      $.ajax({ 
       url : BASE_URL + 'auth/delete_user', 
       type: 'post', 
       data: {'rec_id' : recId }, 
       success: function (response){ 
        try{ 
         if(response == 'true'){ 
          parent.slideUp('slow',function(){$(this).remove();}); 
         } 
        }catch(e) {  
         alert('Exception while request..'); 
        }      
       }, 
       error: function (xhr, text, message) { 
        console.log(message); 
       } 
      }); 
      return false; 
     } 
    }); 
}); 

,這裏是我的控制器(其中視圖位於同一模塊)代碼

function delete_user() { 
    if ($this->input->post('rec_id')) { 
     $id = $this->input->post('id'); 
    } 
    if (!$this->ion_auth->in_group('admin')) { 
     $this->session->set_flashdata('message', $this->lang->line("access_denied")); 
     $data['message'] = (validation_errors() ? validation_errors() : $this->session->flashdata('message')); 
     redirect('module=auth&view=users', 'refresh'); 
    } 
    $this->ion_auth_model->deleteUser($id); 
} 

,這裏是我的模型代碼

public function deleteUser($id) { 
    if ($this->db->delete('users', array('id' => $id)) && $this->db->delete('users_groups', array('user_id' => $id))) { 
     return true; 
    } 
    return FALSE; 
} 

燦有人請幫助我。我不明白我出錯了。在ajax響應的預覽中,我得到的錯誤爲

An Error Was Encountered. The action you have requested is not allowed. 

在此先感謝。

+0

是否存在與該錯誤關聯的行號和文件,或者是從codeigniter返回的Web視圖? – Wold 2014-10-07 05:39:25

+0

您檢查以確保您的db用戶具有執行delete()的適當權限,這可能是問題所在。 – Wold 2014-10-07 05:41:17

回答

0

請訪問以下鏈接:

https://ellislab.com/forums/viewthread/163976/

您首先在谷歌搜索,如果你不知道答案,那麼你就張貼在這裏。

+0

感謝您的回覆,對我有用,我將$ config ['csrf_protection']的 從TRUE更改爲FALSE。它迴應成功的迴應,但不會從數據庫中刪除記錄。請建議我出錯了? – 2014-10-07 07:04:28

+0

使用$ this-> db-> last_query()來記錄最後一個查詢;並看看發生了什麼。 – jewelnguyen8 2014-10-07 07:21:07

1

我認爲你的刪除查詢是錯誤的。它應該像下面一樣(在型號代碼中):

if ($this->db->where(array('id' => $id))->delete('users') && $this->db->where(array('user_id' => $id))->delete('users_groups')) { 
     return true; 
} 
+0

謝謝Rahul,你解決了我的問題。非常感謝你。 – 2014-10-07 13:46:06

+0

你是最受歡迎的薩欽.... – 2014-10-08 05:34:44