簡體   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