jquery和ajax页面刷新问题

时间:2012-04-02 10:37:24

标签: php jquery mysql ajax

虽然我知道这不是一个大问题,但我找到了一个问题,但是当我新的时候,有些事情与我不同。我有一个页面,其中包含从数据库中获取的记录列表。现在有一个按钮,点击记录后,将打开一个弹出窗口以及一些数据。在弹出的内部另一个链接被称为“恢复”,无论何时,链接将被点击,数据库已被更新。现在,这对我来说没问题。但每当我关闭弹出窗口时,我的记录列表应该会自动更改,因为某些记录已经恢复。但是我没有得到结果,除非我不刷新页面。所以我怎么能这样做,请帮助我......

$(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。

3 个答案:

答案 0 :(得分:0)

数据库更新后,调用函数来更新前端或只使用location.reload()重新加载页面

答案 1 :(得分:0)

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

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

弹出窗口调用函数

window.opener.Update();

将自动重新加载你的div,而不是所有页面,如果没有必要

答案 2 :(得分:0)

假设这是您的商家信息格式

<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 如需更多参考,您可以浏览this link