我正在使用jquery,
对表进行删除$('table#chkbox td a.delete').click(function()
{
if (confirm("Are you sure you want to delete this row?"))
{
var id = $(this).parent().attr('id');
var parent = $(this).parent().parent();
$.ajax(
{
type: "POST",
url: "<?php echo base_url().'index.php/libraryController/librarydelete' ?>",
data: { 'id': id },
cache: false,
success: function()
{
parent.fadeOut('slow', function() {$(this).remove();});
}
});
}
});
我正确获取了id值,但我的数据参数没有传递给我的控制器,
function librarydelete($id)
{
$del = $id;
echo $del;
$this->librarymodel->deletebook_issue($id);
$this->session->set_flashdata('response','Deleted successfully');
redirect('libraryController/loadmagazinedetails');
}
任何建议......
我收到了错误,
Missing argument 1 for libraryController::librarydelete()
和Undefined variable: id
答案 0 :(得分:1)
您正在发布数据,因此您可以获得如下ID:
function librarydelete()
{
$del = $_POST['id'];
echo $del;
$this->librarymodel->deletebook_issue($_POST['id']);
$this->session->set_flashdata('response','Deleted successfully');
redirect('libraryController/loadmagazinedetails');
}
看起来你正在使用codeigniter,所以这会更好:
$del = $this->input->post('id');
答案 1 :(得分:0)
在控制器功能参数中将id更改为$ id 意思是,你的功能应该是
function librarydelete($id)
{
$del = $id;
echo $del;
$this->librarymodel->deletebook_issue($id);
$this->session->set_flashdata('response','Deleted successfully');
redirect('libraryController/loadmagazinedetails');
}
答案 2 :(得分:0)
也许是因为您使用变量名称'data'两次。尝试将var数据重命名为var mydata。
答案 3 :(得分:0)
传递数据的方式是错误的。这是您应该设置数据的方式。 var data = {id:id};
在你的情况下,让我不要在post动作中使用变量,并告诉你它是如何完成的。
$.ajax(
{
type: "POST",
url: "<?php echo base_url().'index.php/libraryController/librarydelete' ?>",
data: {id:id},
cache: false,
success: function()
{
parent.fadeOut('slow', function() {$(this).remove();});
}
});
编辑:修改代码后以正确的方式传递数据。
嘿,我没有在php中关注MVC framwework。但由于您正在对操作发布帖子,因此您始终可以通过以下方式获取数据:
$id=$_POST['id']
然后你可以使用这个id。
此外,如果您仍想使用该功能:
function librarydelete($id)
{
$del = $id;
echo $del;
$this->librarymodel->deletebook_issue($id);
$this->session->set_flashdata('response','Deleted successfully');
redirect('libraryController/loadmagazinedetails');
}
只需将uri操作修改为existingurl + /即将id附加到结尾和路由映射中(如果在.nets实现中存在类似这样的内容,则有1)只需添加该路由。