Ajax加载重复整个页面

时间:2013-02-01 04:57:58

标签: php ajax

我试图用jquery load()刷新div;但是负载显示正确的信息,但重复了div中不存在的页面的整个部分

$.ajax({
       type: 'POST',
       url: $(this).attr('action'),
       cache: false,
       data: $("#uses_form").serializeArray(),
       success: function(data)
       {
            $('#uses_form_div').load('#uses_form_div');

       }
     });
return false; });

2 个答案:

答案 0 :(得分:4)

我认为你有误会..

如果要将外部网址加载到div块

$('#uses_form_div').load("./a.file");

会做到的。请参阅api docs

或者如果你试图将$ .ajax调用的ajax响应加载到div中,它应该是

$.ajax({
       type: 'POST',
       url: $(this).attr('action'),
       cache: false,
       data: $("#uses_form").serializeArray(),
       success: function(data)
       {
            $('#uses_form_div').html(data); // see here

       }
});

根据以下评论更新:

如果要刷新包含页面的情况。我有两种方法可以推荐。

  1. 将包含的文件作为单独的URL并最初加载。因此,当jquery加载调用加载页面时,您将通过jquery加载它而不是include。当你想要刷新它时,你可以$('#uses_form_div').load("./a.file");

  2. 你可以把它作为自己包含,当你需要更新时,发一个ajx请求获取数据。这里有2个选择。您可以在服务器上构建dom并将html作为ajax响应并简单地$("#uses_form_div").html(data)或以json的形式获取响应 并在客户端构建您的dom并通过相同的$("#uses_form_div").html(data)加载它。

答案 1 :(得分:0)

我也有同样的问题,但终于找到了答案



<script type="text/javascript">
function recp() {
  setInterval(function() 
  {
    $("#result").load(location.href+ ' #my');
  });
}
</script>
&#13;
<div id="result">
  <div id="my"><?php echo date('a:i:s'); ?></div>
</div>
&#13;
&#13;
&#13;