繁体   English   中英

如何使用ajax调用href函数

[英]How to call href function with ajax

我是新来的,我正在我的网站上使用 ajax 和 notify.js。 有一个小问题,即我无法使用带有 ajax 的 href 调用我的函数,并且notify.js 不会弹出并删除文件让我向您展示我的代码

意见:

<tbody>
<?php foreach ($rows as $row) { ?>
    <tr>
        <td><?php echo $row ->description ?></td>
        <td><?php echo $row->updated_at ?></td>
        <td><a href="<?php echo base_url().'admin/edittipe/'.$row->id ?>">Edit</a></td>
        <td><a id="aDeleteOrderType" onclick="type_delete()" href="#.<?php echo $row->id ?>">Delete</a></td>
    </tr>
<?php } ?> 

管理页脚

<script>
$("#aDeleteOrderType").click(function(e){
    e.preventDefault();
    $.ajax({
      url: '<?php echo base_url().'admin/type_delete' ?>',
      type: 'post',
      data: {
      },
      success: function(msg)
      {
          if (msg == 'valid')
        {
            $.notify('Data Has Been Deleted', 'error')
        }
      }
}); 

});

控制器

public function type_delete($id)
    {
        $is_logged_in1 = $this->session->userdata('is_logged_in');
        $type = $this->session->userdata('type');
        if(!isset($is_logged_in1) || $is_logged_in1 != true)
    {
        $data['error'] = '';
        $this->load->view('login-1', $data);
    }
    else                     
    {
        $this->load->model('listtipeorder_model');
        $this->listtipeorder_model->delete_list_type($id);
        echo 'valid';
    }
    }

请帮帮我:(

PS 抱歉我的英语不好。

HTML:

请注意data-id和我们将很快获得的属性。

<td><a id="aDeleteOrderType" href="#" data-id="<?php echo $row->id ?>">Delete</a></td>

JS:

由于您没有使用 get 或 post 来获取 php 函数中的$id var,而是将其作为 url 参数传递,因此您必须通过 jquery 执行相同的操作。

<script>
    $(document).ready(function () {
        $("#aDeleteOrderType").click(function (e) {
            var id = $(this).attr('data-id');
            e.preventDefault();
            $.ajax({
                url: '<?php echo base_url() . '/admin/type_delete/'; ?>' + id,
                type: 'POST',
                success: function (msg) {
                    if (msg == 'valid') {
                        // success would be better suited than 'error'
                        // might confuse some
                        $.notify('Item deleted', 'success');
                    } else {
                        $.notify('Error occurred', 'error');
                    }
                }
            });
        });
    });
</script>

PHP:

您的 PHP 没有任何问题,但可以改进。

function type_delete($id = null) {
    $is_logged_in1 = $this->session->userdata('is_logged_in');
    //$type = $this->session->userdata('type');
    // isset not required with userdata as will return null if no data
    if ($is_logged_in1 != true || is_null($id)) {
        echo 'error';
        // don't load a view
        //$data['error'] = '';
        //$this->load->view('login-1', $data);
    } else {
        $this->load->model('listtipeorder_model');
        $this->listtipeorder_model->delete_list_type($id);
        echo 'valid';
    }
    exit;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM