2014-10-07 4 views
1

Мне нужна помощь в моей проблеме. У меня есть список пользователей, и я хочу удалить пользователя onclick из кнопки delete, используя ajax в CI HMVC. Вот код моего списка зрения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? – Wold

+0

Вы проверяете, чтобы ваш пользователь db имел надлежащие разрешения для выполнения delete(), это может быть проблемой. – Wold

ответ

0

Пожалуйста, смотрите по этой ссылке:

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

Вы во-первых, поиск на Google, и если у вас нет ответа, то вы размещаете здесь.

+0

спасибо за ответ, это полезно для меня, я изменил $ config ['csrf_protection'] с TRUE на FALSE. Это отражает успех в ответ, но не удаляет запись из базы данных. подскажите, что я ошибаюсь? –

+0

Запишите последний запрос, используя $ this-> db-> last_query(); и посмотрим, что произошло. – jewelnguyen8

1

Я думаю, что ваш запрос на удаление неверен. Он должен быть как указано ниже (в коде модели):

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

Спасибо Рахул, ты решил мою проблему. Большое спасибо. –

+0

Вас приветствует Sachin .... –

Смежные вопросы