jquery和ajax页面刷新问题


jquery and ajax page refreshing issue

我正在获取一个问题,尽管我知道这不是一个大问题,但随着我的加入,有些东西对我来说是不同的。我有一个页面,它有一个记录列表,从数据库中获取。现在有一个按钮,点击记录后,将打开一个弹出窗口和一些数据。在弹出的另一个链接中,有一个被称为"恢复"的链接,只要点击该链接,数据库就会被更新。到目前为止,我还可以。但每当我关闭弹出窗口时,我的记录列表都会自动更改,因为有些记录已经恢复。但除非我不刷新页面,否则我不会得到结果。那么我该怎么做呢,请帮帮我。。。。

$(function() {
        $(".delete").click(function() {
            $('#load').fadeIn();
            var commentContainer = $(this).parent();
            var id = $(this).attr("id");
            var string = 'id='+ id ;
            $.ajax({
               type: "POST",
               url: "restore-request-process.php",
               data: string,
               cache: false,
               success: function(){
                commentContainer.slideUp('slow', function() {$(this).remove();});
                $('#load').fadeOut();
              }
             });

             //return false;
        });
    });

在restore-request-process.php页面中,我只是更新了数据库并回显了id。

数据库更新后,调用一个函数更新前端或使用location.reload() 简单地重新加载页面

您需要在父窗口中声明全局函数

function Update(){ 
//global function in parent, update div
}

弹出窗口调用功能

window.opener.Update();

这将自动重新加载您的div,而不是所有页面,如果不需要

假设这是您的列表格式

<table>
<?php
foreach($results as $result) { ?>
<tr id="my_div">
<td><?php echo $result->name?></td>
<td class="delete" id="<?php echo $result->id?>"><img  src="delete.png"/></td>
</tr>
<?php } ?>
</table>

在restore-request-process.php中,编写一个查询,从数据库中获取所有结果,然后像一样返回结果

$result = mysql_query("SELECT * FROM my_table");
while($row = mysql_fetch_array($result))
  {
 echo   '<td>'. echo $row["name"].'</td>
    <td class="delete" id="'. echo $row["id"].'"><img  src="delete.png"/></td>' ;
  }

onsuccess将my_div中的所有内容替换为响应文本CODE IS NOT TESTED有关更多参考,您可以通过此链接