【发布时间】:2020-04-16 10:00:40
【问题描述】:
当我第一次删除时,图像的取消链接效果很好,该行已成功从数据表中删除。
问题是我正在使用 Ajax Jquery 请求删除和取消链接图像,因此页面不会刷新,当我第二次尝试取消链接和删除时它没有任何响应并且图像不会取消链接,也不会删除该行。
另外,我正在尝试使用 jquery 数据表来加载行,但它不同步数据。
Ajax 代码:
var id = $('#deleteAdmin').data('id');
$.ajax({
type : "POST",
url : "<?php echo base_url(); ?>CRUD_Controller/crud_delete/" + id + "/administrador",
cache: false,
contentType: false,
processData: false,
dataType: 'html',
success: function(data){
/*Func Ajax get admin without access*/
$.ajax({
type : "POST",
url : "<?php echo base_url(); ?>CRUD_Controller/crud_getDataAll/administrador/administradores_null",
cache: false,
contentType: false,
processData: false,
dataType: 'html',
success: function(data){
$('#example2 tbody').html(data);
},
error:function(xhr)
{
alert('Algo falhou, nao caregou a tabela. - ' + xhr.statusText);
}
});
$('#atribuir').modal('hide');
swalWithBootstrapButtons.fire(
'Removido!',
'O administrador foi removido do sistema com sucesso.',
'success'
);
},
error:function(xhr)
{
alert('Algo falhou, carregue a página novamente. - Erro : ' + xhr.statusText);
}
});
控制器功能:
public function crud_delete($id, $table_name)
{
switch ($table_name) {
case 'administrador':
$rows = $this->Administracao_model->getData($id, $table_name);
foreach($rows as $row) {
$imagem = $row->imagem;
unlink(FCPATH.'assets/images/Administradores/'.$imagem);
}
$this->Administracao_model->deleteData($id, $table_name);
break;
}
}
public function crud_getDataAll($table_name, $page_name)
{
switch ($page_name) {
case 'administradores_null':
$rows = $this->Administracao_model->getDataAdminSemAcesso($table_name);
foreach($rows as $row) {
echo '<tr>';
echo '<td class="align-middle text-center"><a href="#">#ADMIN' . $row->id . '</a></td>';
echo '<td class="align-middle text-center">' . $row->nome . '</td>';
echo '<td class="align-middle text-center">' . $row->apelido . '</td>';
echo '<td class="align-middle text-center">' . $row->cargo . '</td>';
echo '<td class="align-middle text-center"><span class="badge badge-danger">Sem Acesso</span></td>';
echo '<td class="align-middle text-center"><a href="#" class="btn btn-success text-white btn-sm" data-toggle="modal" data-id="'.$row->id.'" data-nome="'.$row->nome.'" data-apelido="'.$row->apelido.'" data-cargo="'.$row->cargo.'" data-contacto="'.$row->contacto.'" data-email="'.$row->email.'" data-imagem="'.$row->imagem.'" data-target="#atribuir" id="atrb"><i class="fas fa-edit"></i></a></td>';
echo '</tr>';
}
break;
default:
echo "Erro no contnroller.";
break;
}
}
型号:
function getDataAdminSemAcesso($table_name)
{
$this->db->select('*');
$this->db->where('id_nivel', null);
$query = $this->db->get($table_name);
return $query->result();
}
function getData($id, $table_name)
{
$this->db->select('*');
$this->db->where('id', $id);
$query = $this->db->get($table_name);
return $query->result();
}
function deleteData($id, $table_name)
{
$this->db->where('id', $id);
$this->db->delete($table_name);
}
提前致谢!
【问题讨论】:
标签: php jquery ajax codeigniter