0

我正在尝试使用 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; });
4

2 回答 2

4

我认为你有一个误解..

如果您想将外部 url 加载到 div 块中

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

会做的。请参阅api 文档

或者,如果您尝试将 $.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 并最初加载它。因此,include您将通过 jquery 加载它,而不是通过 jquery load 调用加载页面。当你想刷新它时,你可以做 $('#uses_form_div').load("./a.file");

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

于 2013-02-01T05:52:15.433 回答
0

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

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

于 2016-01-02T08:56:28.023 回答