单击时仅刷新div

时间:2014-05-03 12:53:46

标签: jquery html ajax

点击按钮后,我只想刷新<div class="wrap"> ... </div> 使用此window.location.reload(),但我刷新整个页面,所以我需要一个只刷新该div的ajax脚本。

<div class="wrap">

    // Content

    <div class="random_dil">
    <a class="button" onclick="window.location.reload()" href="#">Sljedeće pitanje</a>
    </div>

我试过这个

<div id="mydiv"></div>
<a id="refresh">click</a>

<script>
$(function() {
  $("#refresh").click(function() {
     $("#mydiv").load("http://blah.com/page.php")
  })
})
</script>

但这再次刷新整个网站。

3 个答案:

答案 0 :(得分:1)

$.ajax({
    url: "http://blah.com/page.php",
    async: true
}).done(function(result) {
    $("#mydiv").html(result);
});

答案 1 :(得分:1)

如果您说整个页面正在mydiv区域内重新创建,则单击时会将IE单击添加到我的div中。因为这是page.php提供的内容,jquery只能选择页面的一部分来改变你的脚本的第三行。

$("#mydiv").load("http://blah.com/page.php #mydiv" );

在你的第二个“也尝试过”的例子中。

答案 2 :(得分:1)

<script type="text/javascript">
function GetXmlHttpObject()
{
  if (window.XMLHttpRequest)
  {
    return new XMLHttpRequest();
  }
  if (window.ActiveXObject)
  {
    return new ActiveXObject("Microsoft.XMLHTTP");
  } 
  return null;
}

function ajax_function(url, postData, id)
{
xmlhttp=GetXmlHttpObject();
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", postData.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4)
    {
          document.getElementById(id).innerHTML=xmlhttp.responseText;                            
    }       
}                
    xmlhttp.send(postData);
 }

 function refreshDiv()
 {
var params = '';
var DivId  = 'wrap';
    var url    = 'http://blah.com/page.php';

ajax_function(url, params, DivId);
 }
 </script>

HTML

<div class="wrap">

// Content

<div class="random_dil">
<a class="button" onclick="refreshDiv()" href="#">Sljedeće pitanje</a>
</div>