2016-06-08 185 views
0

美好的一天。我在管理页面上工作,基本上它是一个内容管理系统。我想根据他们的ID删除数据。但不幸的是,我在htpp请求中遇到错误。这是错误。AJAX请求根据其id删除列。

Request URL: admin/ajax_delete 
Request Method:POST 
Status Code:500 Internal Server Error 
Remote Address:144.76.136.165:8181 

浏览文件:

<a href="#" data-target="" id="delete_tpi" class="edit-content-modal1" data-id="<?php echo $ds_content->id; ?>" value="<?php echo $ds_content->id; ?>"><span class="glyphicon glyphicon-trash"></span></a> 

    $("#delete_tpi").click(function() { 
     alert("Are you sure you want to delete?"); 
     var tpi = $('.datatpi').val(); //package includes 
     var did = $('#data-id').val(); 
     $.ajax({ 
      url: '<?php echo site_url('admin/ajax_delete'); ?>', 
      type: 'POST', 
      datatype: 'html', 
      data: {id: did, tpi: tpi}, 
      success:function (b){ 
       if (b == 'Success') { 
        $('.#data-id').val(''); 
        $('.datatpi').val(''); 
        location.reload(); 
       } 
      } 
     }); 
    }); 

    $('body').on('click','.edit-content-modal',function(){ 
     var id = $(this).attr('data-id'); 
     $('#data-id').val(id); 
    }); 

Controller文件:

public function ajax_delete(){ 
    $did = $this->input->post('id'); 
    $ptpi = $this->input->post('tpi'); 
    $update = $this->products_model->row_delete($did,$ptpi); 
    var_dump($update); 
    echo ($update)?'Success':'Fail'; 
} 

模型文件:

function ajax_delete($did,$ptpi){ 
    $this->db->where('id',$did); 
    $this->db->delete('products',$ptpi); 
    return $this->db->affected_rows() > 0; 
} 

回答

1

因为<a></a>元素不指望value TA G。您可以通过使用attr()获得点击#delete_tpi链路ID:

var did = $("#delete_tpi").attr('data-id'); 
1

你的POST请求管理员/ ajax_delete返回500内部服务器错误。这是服务器端错误。如果您使用codeigniter,请查看application/logs/* .log文件,该文件将为您提供有关该错误的详细信息。

我觉得,你的问题是调用从模型中不存在的功能:

在你的控制器,你必须:

$this->products_model->row_delete($did,$ptpi); 

但是你的模型,包含:

function ajax_delete($did,$ptpi){ 
    .... 
} 

你的模型中有row_delete()函数吗?

再一次,我建议你看看日志文件,因为许多问题都可能导致服务器端错误。