[英]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.