简体   繁体   English

如何使用ajax代码通过CodeIgniter将视图数据传递给Controller?

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

I have a problem to delet the row data from a page. 我在从页面删除行数据时遇到问题。 After clicking "OK" buttton nothing would be appear. 单击“确定”按钮后,将不会显示任何内容。

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

The modal is 模态是

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

The JQuery code is 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>

The function of controller file item_list.php file is 控制器文件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;
}

The item_list_model.php file is item_list_model.php文件是

public function delete_item ($id) {

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

            }

The output is The "OK" button does not delet the row 输出为“确定”按钮不会删除该行

Try out below code 试试下面的代码

Controller 调节器

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

Model 模型

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

ajax 阿贾克斯

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

Actually your ajax post endpoint into controller should return some response using echo + json enconde. 实际上,您进入控制器的ajax发布终结点应该使用echo + json enconde返回一些响应。 In that way your success callback into ajax jquery call can catch it and continue the flow correctly (hiding modal). 这样,您成功回调到ajax jquery调用中就可以捕获它并正确继续流程(隐藏模式)。

JQuery Ajax POST in Codeigniter Codeigniter中的JQuery Ajax POST

尝试将data : {"id":id},更改为data : {id:id},也许数据ID在控制器中未正确发送,这就是为什么它不起作用。

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

相关问题 如何将 ajax 上的数据传递给 codeigniter controller - how to pass data on ajax to codeigniter controller 如何通过数据控制器在Codeigniter中查看 - How to pass data controller to view in codeigniter Codeigniter获得ajax响应并将该数据从控制器传递到视图 - Codeigniter get ajax response and pass that data from controller to view 如何在Laravel 5.6中使用Ajax从控制器传递数据以进行查看 - how to pass data from controller to view using ajax in laravel 5.6 如何在Codeigniter中使用Ajax将变量从Controller传递到View? - How to pass variable from Controller to View with Ajax in Codeigniter? 我想使用ajax post从视图传递codeigniter中的数据,在控制器中处理该数据,然后将结果数组发送回视图 - I want to pass data in codeigniter from view using ajax post, process that data in controller and send back the result array to view Codeigniter ajax使用ajax代码将数据发送到控制器 - Codeigniter ajax send data to controller using ajax code 无法将Ajax和jquery,CodeIgniter传递给控制器​​的数据(PHP框架) - not able to pass data to controller using Ajax with jquery ,CodeIgniter (PHP framework) 在Codeigniter中使用Ajax将数据从控制器传递到视图 - Passing data from controller to view using ajax in codeigniter 如何在Codeigniter中将数据从控制器传递到jquery(Ajax) - how to pass data from controller to jquery (Ajax) in codeigniter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM