2012-09-30 40 views
1

我與阿賈克斯的工作,現在和我有這樣一段代碼:AJAX頁面負載,走的時候刷新頁面

<script type="text/javascript"> 
function load(file,container) 
     { 
var xmlhttp, newhash = ''; 

if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();} 
if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} 

xmlhttp.onreadystatechange= function(){ 
     if(xmlhttp.readyState==4 && xmlhttp.status==200) 
     { document.getElementById(container).innerHTML=xmlhttp.responseText; 
    } else { 
     document.getElementById(container).innerHTML='<div style="padding:10px">  <p>Please upgrade your web browser to support modern technology.</p></div>'; 
     } 
    } 
xmlhttp.open("GET",file,true); 
xmlhttp.send(null); 
} 
</script> 
<script type="text/javascript" src="jquery.js"></script> 
<ul> 
<li><a href="#" onclick="load('home.php','ajax');return false;">Home</a><li/> 
</ul> 
     <div id="ajax"> 



</div> 

對不起這是我的第一篇文章,但我真正擔心的是,該頁面可以是加載,但是當我刷新頁面時,頁面就會消失。我試圖把一個哈希值的網址,但它仍然無法正常工作。

+0

是什麼問題呢?我檢查了你的代碼,它工作正常。 –

+0

如果你已經使用jQuery,你可以做到這一點更容易和更清潔與jquery加載http://api.jquery.com/load/ – hsalama

+0

我會檢查它@ hsalama ..感謝您的意見!我很感激。 –

回答

1

您的內容僅在點擊按鈕時加載。你需要告訴瀏覽器根據你的散列自動加載*內容。

對於這一點,您可以:

1 - 給一個哈希你的鏈接,通過在href attrbiute指定它。從onclick取出return false;,以確保該頁面的網址更改爲#home

<a href="#home" onclick="load('home.php','ajax');">Home</a> 

2 - 添加一個自動加載的頁面中的散列指定的onload處理程序。

<body onload="loadHash();"> 

3 - 寫自動哈希裝載機

<script> 
function loadHash() { 
    var hash = window.location.href.split('#'); 
    if(hash.length == 2) { 
     load(hash[1] + '.php','ajax'); 
    } 
} 
</script> 
+0

感謝您的回覆..我會盡力整合這.. –