2010-11-04 49 views
0

我用中心的按鈕創建了一個簡單的頁面。如何用Ajax重寫所有當前頁面?

現在我想,當我點擊按鈕,然後當前頁面完全重新寫入從服務器加載的新HTML和Javascript代碼。

我該怎麼用ajax做這個?

+0

你使用任何JavaScript庫嗎? jQuery的例子 – pex 2010-11-04 21:09:26

+0

.......是的JQUERY:P – xRobot 2010-11-04 21:10:16

回答

1

尼克是正確的與他說什麼,但如果有沒有其他辦法:

$('a').click(function() { 
    $('body').load("test.html"); 
}); 

編輯 確保 load只取從遠程ADRESS的 <body>標籤內的內容。 對我來說並沒有定義body工作,只獲取<body>標籤=>load('test.html body')


爲動畫,你可以做這樣的事情的頁面:

$('a').click(function() { 
    $('body').load("test.html", function() { 
    $(this).hide().fadeIn(2000); 
    }); 
}); 

後來我建議實現至少一個包裝元素。

+0

這將加載(或嘗試)整個''元素到主體:) – 2010-11-04 21:16:06

+1

據我所知,'load'只抓住''標籤內的所有內容。我可能錯了 – pex 2010-11-04 21:18:21

+0

有點,它更多的是剝離下來的瀏覽器,所以這會有所不同,這是「嘗試」部分:) – 2010-11-04 21:19:49

4

建議:以正常形式發佈並重新加載頁面。如果你重新加載整個頁面,無論如何,你做的遠與AJAX的所有優點,無論如何,最好重新加載整個頁面,例如:

<form action="otherpagr.html"> 
    <input type="submit" value="Click me" /> 
</form> 

AJAX是用於更換頁面的一部分以減少開銷......但如果您要替換整個<body>,則只需加載您要訪問的頁面會更輕鬆。

+0

你是對的,但我需要用JavaScript做一些動畫,當我重新加載頁面:) – xRobot 2010-11-04 21:12:55

+0

@xRobot - 你可以在頁面的JavaScript塊中做到這一點,使用XmlHttpRequest這樣做有點矯枉過正(對於你的用戶來說,這種體驗不太愉快......尤其是在老版本的瀏覽器中)。 – 2010-11-04 21:14:45

+0

...... mmmm ok:P – xRobot 2010-11-04 21:15:12

相關問題