删除条目时Ajax不会重新加载表


Ajax not reloading the table when entry is deleted

嗨,我的视图中有以下按钮

<button onclick="delete_article(<?php echo $property['ID']?>)" type="button" class="btn btn-danger">Delete</button>

对应于我的编码器控制器中的此功能

function delete($id)
{
    $this->News_m->delete($id);
    echo json_encode(data);
}

如果需要,这是我的型号代码:

function delete($id){
    $this->db->where('ID', $id);
    $this->db->delete('news');
}

我是AJAX的新手,我想知道我将如何为此编写AJAX函数。我目前有以下内容,但它不起作用!有人能帮我一下吗。

这是我目前在script.js文件中的

function delete_article(id){
    // ajax delete data in database
    $.ajax({
        url : "http://localhost/eaglefruit/news/delete" + id,
        type: "POST",
        dataType: "JSON",
        success: function(data){
        }
    });
}

更新:

代码正在为删除部分工作,但后台的表在我刷新页面之前不会自行更新。如何使用Ajax进行重新加载?

如果使用Ajax,则不需要刷新页面。您可以删除要删除的确切行,而不是刷新。如果你试图刷新页面,那么使用Ajax是没有用的,你可以简单地发出一个post或get请求,它将自动重新加载页面

试试这个

<tr id='row<?php echo $property['ID']; ?>'>.........</tr>

function delete_article(id){
    // ajax delete data in database
    $.ajax({
        url : "http://localhost/eaglefruit/news/delete" + id,
        type: "POST",
        dataType: "JSON",
        success: function(data){
              $("#row"+id).remove();
        }
    });
}

我要做的是以下

将标志设置为从AJAX返回,例如"0"或"1"。我知道对于Java Servlet,你必须检查PHP(对不起):

PrintWriter out = response.getWriter();
out.print(//1 or 0 in case everything went according to plan);

这是棘手的部分。。。。

为每个tr分配一个id,例如:

<table>
   <thead>
     <tr>
       <th>ID</th>
       <th>Name</th>
       <th>Last Name</th>
     </tr>
  </thead>
  <tbody>
     <tr id="00001">
       <td>0001</td>
       <td>John</td>
       <td>Smith</td>
    </tr>
    <tr id="00002">
       <td>0002</td>
       <td>Jane</td>
       <td>Smith</td>
    </tr>
    <tr id="00003">
       <td>0003</td>
       <td>Baby</td>
       <td>Smith</td>
    </tr>
   </tbody>
</table>

在您的AJAX请求中,响应成功方法验证您的"数据"变量,如:

if(data=="1"){
   $(#id).remove();
   //Where id I´m hopping is the same ID from **delete_article(id)**
}else{
  alert("Something is wrong");
}

请记住,为了使此功能发挥作用,您必须添加JQuery

好运:

:)