[英]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调用中就可以捕获它并正确继续流程(隐藏模式)。
尝试将data : {"id":id},
更改为data : {id:id},
也许数据ID在控制器中未正确发送,这就是为什么它不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.