【问题标题】:How to call href function with ajax如何用ajax调用href函数
【发布时间】:2018-08-16 01:52:10
【问题描述】:

我是新来的,我在我的网站上使用 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';
    }
    }

请帮帮我:(

P.S 对不起,我的英语不好。

【问题讨论】:

    标签: javascript json ajax codeigniter


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 2013-02-05
      • 2011-09-30
      • 2013-10-11
      • 1970-01-01
      相关资源
      最近更新 更多