Php 删除jquery中的行而不刷新页面

Php 删除jquery中的行而不刷新页面,php,javascript,jquery,ajax,codeigniter,Php,Javascript,Jquery,Ajax,Codeigniter,我正在使用此代码删除一行。。我的代码工作正常我使用的是datatables,每一行前面都有一个删除按钮。我想要的是当出现确认对话框,用户按ok时,它会删除该行并在数据表中显示其余行,而不刷新。。我的意思是,在那个时候,如果我按下ok按钮,它将成功删除该行。但是删除行将保留在表中,直到我刷新页面,然后它将从表中删除。。有可能吗?。。因为我不希望用户在按delete键后必须刷新以查看行是否被删除 这是我的查看代码用户名 <td> <a href = "employ

我正在使用此代码删除一行。。我的代码工作正常我使用的是datatables,每一行前面都有一个删除按钮。我想要的是当出现确认对话框,用户按ok时,它会删除该行并在数据表中显示其余行,而不刷新。。我的意思是,在那个时候,如果我按下ok按钮,它将成功删除该行。但是删除行将保留在表中,直到我刷新页面,然后它将从表中删除。。有可能吗?。。因为我不希望用户在按delete键后必须刷新以查看行是否被删除

这是我的查看代码用户名

         <td> <a href = "employesController/deleteEmploye/<?php echo  $row->emp_id ?>" 
             class = "deletes" >Delete</td>
模型


您可以使用jquery发送到php中删除这一行的另一个脚本,并在确认后删除表中的这一行

jquery

$.post("functions.php", { rowId: 1231 },
    function(data) {
        if (data == "ok")
            alert("the row has ben delete");
        else
            alert("the row is not delete");

});
php


首先需要验证是否调用了if条件块。如果正确调用,请尝试以下方法:

$this.parent('td').parent('tr').remove();
使用Firebug(如果您不使用firefox,也可以使用类似的工具)调试ajax调用。在“网络”选项卡中,您可以查看是否确实发送了ajaxrequest,以及它返回了什么

将console.log和console.dir语句添加到代码中以了解发生了什么:

$.get(url, function(r){
    console.log("returned form ajax");
    if(r.success){
        console.log("successful, $this is now ");
        console.dir($this);
        $this.closest("tr").remove();
    }
}
这样您会发现,您的ajax确实会返回,但是 与您期望的结果不同:它只返回数据, 因此,寻找成功总是失败的

您使用的方法.get只接受两个参数: url,以及仅在成功时调用的函数! 因此,您根本不需要if语句:

$.get(url, function(r){
  $this.closest("tr").remove();
}
有关完整的工作示例,请参见


另外:不要使用get删除内容!使用post代替!您还应该考虑跨站点请求伪造:完全不同站点上的某人可能会添加链接

<a href="http://yoursite.com/employesController/deleteEmploye/4">free beer here</a>

欺骗你的用户删除员工-甚至没有注意到


请参见

能否显示更多的HTMLHE
成功
回调
$。ajax
将从ajax调用返回的数据作为其第一个参数传递。您确定返回的JSON对象具有计算结果为true的
success
属性吗?此外,您正在以全局身份泄漏
$this
。添加
var
。是的,我将向您展示我的控制器toooi更新了我的问题..这是我在firbug响应中遇到的错误..对非对象localhost/上的成员函数result()的致命错误调用。。。。在模式行38中..这是我在firbug响应中得到的错误..对非对象localhost/上的成员函数result()的致命错误调用。。。。在模态第38行中,谢谢你们的提示,但我觉得我在模型中做错了什么。我正在返回结果。。我做得对吗?
$this.parent('td').parent('tr').remove();
$.get(url, function(r){
    console.log("returned form ajax");
    if(r.success){
        console.log("successful, $this is now ");
        console.dir($this);
        $this.closest("tr").remove();
    }
}
$.get(url, function(r){
  $this.closest("tr").remove();
}
<a href="http://yoursite.com/employesController/deleteEmploye/4">free beer here</a>