簡體   English   中英

如何使用ajax代碼通過CodeIgniter將視圖數據傳遞給Controller?

[英]How to pass view data to Controller by CodeIgniter using ajax Code?

我在從頁面刪除行數據時遇到問題。 單擊“確定”按鈕后,將不會顯示任何內容。

<td><a id ="mybutton" data-toggle="modal" data-target="#confirm_delete_button" data-id="<?php  echo $row -> id?>"  href="" ><i class="glyphicon glyphicon-remove"></i></a>

模態是

<div class="modal fade" id="confirm_delete_button" role="dialog" aria-labelleby="myModalLabel" aria-hidden="true" z-index: 1050;>
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h class="modal-title" id="myModalLabel">Delet this data</h>

            </div>
            <div class="modal-body">
              <h4>Are you sure? </h4>
              <div id="done"></div>
            </div>

              <div class="modal-footer">
                <button type="button" class="btn btn-danger" id="confirmOk">Ok</button>
                <button type="button" class="btn btn-success" data-dismiss="modal" aria-hidden="true">Cancel</button>
              </div>
          </div>
        </div>
      </div>

JQuery代碼是

<script type="text/javascript">
        $(document).ready(function(){

          $('#mybutton').click(function(){
            var id = $(this).data('id');
            $('#confirmOk').data('id',id);
              });

          $('#confirmOk').click(function(){
           var id = $(this).data('id');
            $.ajax {
              url : "<?php echo base_url();?>item_list/delete_item/",
              type : "post" ,
              data : {"id":id},
              dataType:"json",
              success : function (data) {
                $('#confirm_delete_button').modal('hide');

                } 

                  }
                    });
              });
        </script>

控制器文件item_list.php的功能是

public function delete_item () {
    //$id = $this->uri->segment(3);
    $id=$this->input->post('id');
    $this -> item_list_model -> delete_item ($id);
     echo $id;
}

item_list_model.php文件是

public function delete_item ($id) {

    return $this -> db -> query ("DELETE FROM item WHERE id='$id' ");

            }

輸出為“確定”按鈕不會刪除該行

試試下面的代碼

調節器

    public function delete_item () {
        //$id = $this->uri->segment(3);
        $id=$this->input->post('id');
        $result = $this->item_list_model->delete_item ($id);
             if($result > 0 ){
             echo "success";
             }else{
             echo "failure";
             }
    }

模型

    public function delete_item ($id) {      
        $this->db->where('id', $id);
        $this->db->delete('item');
        return $this->db->affected_rows();          
        }

阿賈克斯

           success : function (data) {
            //$('#confirm_delete_button').modal('hide');
           alert(data);
            } 

實際上,您進入控制器的ajax發布終結點應該使用echo + json enconde返回一些響應。 這樣,您成功回調到ajax jquery調用中就可以捕獲它並正確繼續流程(隱藏模式)。

Codeigniter中的JQuery Ajax POST

嘗試將data : {"id":id},更改為data : {id:id},也許數據ID在控制器中未正確發送,這就是為什么它不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM