Div里面載入另一個頁面的實現(取代框架)(AJax)(轉)


隨着框架越來越不火了,HTML5就不對框架支持了,iframe也只有url了,Div就擔當了此大任

DIV+CSS在頁面部局確實也很讓人滿意,使用也更方便

今天突然遇到一個問題,那就是需要導入另一個頁面顯示在當前頁的Div里面

我當然可以用iFrame啥的,不過那不是我想要的方法

在網上查了半天,方法也很多,不過有不滿意的地方,因為多數都會用JQuery

呆會在下部分會給出jQuery的實現

而且因為要導入的頁面還有一些特效,而不是單純的數據,例如,我導過來的頁面樣式都要保持!

我要實現的是教你用Ajax實現,大家都知道Ajax可以異步隨時不用刷新頁面而更新數據,功能也很是強大

而且在未來HTML5上也對Ajax有了更好的支持,

下面我就教你如何使用Ajax快速達到目的:

使用源生Ajax,只需二步:

1:下載Ajaxjs文件:Ajax包下載

2:頁面導入js文件

<script type="text/javascript" src="ajaxrequest.js"></script>

完成了,你已經成功邁入了Ajax大門了

接着來完成任務吧:

細節說明:Apach / Ajax / js

頁面中添加一個目標地址:例如    <div id="des"></div>

好啦,另一個頁面的全部代碼呆會就導在這個叫des的DIV中間;我們要導入的就是頁面abc.html  

//用來設計模板頁很不錯哦

添加JS代碼了:

 

<script type="text/javascript">
var ajaxobj=new AJAXRequest;    // 創建AJAX對象,類在剛剛那個文件里了
ajaxobj.method="GET";   // 設置請求方式為GET
ajaxobj.url="templat/main.html"  // 響應的URL,以后可以改為一些動態處理頁,會用Ajax的都知道,這在頁里可以有目的返回不同的數據
// 設置回調函數,輸出響應內容,因為是靜態頁(這是我的需求嘛)所以所有內容都過來了
ajaxobj.callback=function(xmlobj) {
     document.getElementById('des).innerHTML = xmlobj.responseText;     //可要看好這句話哦
}
ajaxobj.send();    // 發送請求
</script>
View Code

到此為止,目的達成,頁面是不是完全加載進來了,右健查看源代碼,還很好的隱藏了abc的url,甚至連字都隱藏了,太神奇了,hoho

用這開發模板,不就是一個網址了嗎,連個?號都不讓看啊,就是一個字:真爽!

而且樣式也都是設好的樣式,也可以把js用function aa{}擴起來在onload(javascript:aa())自由發揮

最后說明一下:ajax還需要一些瀏覽器檢查,這里是教最快上手,我在FF火狐測試過了一切都好,而在IE可能在樣式上會出點小問題,不過門都入了,

慢慢就都會了,不是嗎

 

JQuery方式載入:

方式一:首先引入jquery的JS文件:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

更多jQuery內部原理見此牛貼

導入js 添加代碼了,直接寫個js函數(因為無論jquery還是Ajax都是js開發的)

<script language="javascript" type="text/javascript">   
<!-- 
function jump(){
    $("#mainBody").load("./templat/main.html",function(){ $("#mainBody").fadeIn(100);}
);    
-->
</script>
View Code

直接在要觸發的地方加上onclick="jump();" 就行了,發現這個瀏覽器支持能好點

更多load用法請參閱完整說明

方式二:這個方法是使用jquery的ajax

var parames={
"type1":"paramer1","type2":"paramer2"};
$.ajax({
url:'myTest.php',
type:'post',
dataType:'html',
data:parames,
error: function(){alert('error');},
success:function(data){
$("#myDiv").html(data);
}
});
View Code

jquery load 事件用法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM