【问题标题】:AJAX request delete column base on their id.AJAX 请求根据其 id 删除列。
【发布时间】:2016-06-08 03:50:02
【问题描述】:

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

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);
    });

控制器文件:

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;
}

【问题讨论】:

    标签: php jquery mysql ajax codeigniter


    【解决方案1】:

    因为&lt;a&gt;&lt;/a&gt; 元素不需要value 标记。可以通过attr()获取被点击的#delete_tpi链接的ID:

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

    【讨论】:

      【解决方案2】:

      您对 admin/ajax_delete 的 POST 请求返回 500 Internal Server Error。这是服务器端错误。如果您使用 codeigniter,请查看 application/logs/*.log 文件,这些文件将为您提供有关错误的详细信息。

      我认为,您的问题是从模型中调用一个不存在的函数:

      在您的控制器中,您有:

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

      但是您的模型包含:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-16
        • 2016-12-01
        • 1970-01-01
        • 2021-01-10
        • 2017-07-10
        • 1970-01-01
        • 2015-04-03
        • 1970-01-01
        相关资源
        最近更新 更多