資源描述:
《ajax開發(fā)技術在php開發(fā)中的簡單應用技巧》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、.AJAX無疑是2005年炒的最熱的Web開發(fā)技術之一,當然,這個功勞離不開Google。我只是一個普通開發(fā)者,使用AJAX的地方不是特別多,我就簡單的把我使用的心得說一下。(本文假設用戶已經具有JavaScript、HTML、CSS等基本的Web開發(fā)能力)[AJAX介紹]Ajax是使用客戶端腳本與Web服務器交換數(shù)據(jù)的Web應用開發(fā)方法。Web頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應用的直接、高可用、更豐富、更動態(tài)的Web用戶界面。異步JavaScript和XML(AJAX)不是什么新技術,而是使用幾種
2、現(xiàn)有技術——包括級聯(lián)樣式表(CSS)、JavaScript、XHTML、XML和可擴展樣式語言轉換(XSLT),開發(fā)外觀及操作類似桌面軟件的Web應用軟件。[AJAX執(zhí)行原理]一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執(zhí)行HTTP請求,并且將會解析一個XML格式的服務器響應。Ajax處理過程中的第一步是創(chuàng)建一個XMLHttpRequest實例。使用HTTP方法(GET或POST)來處理請求,并將目標URL設置到XMLHttpRequest對象上。當你發(fā)送HTTP請求,你不希
3、望瀏覽器掛起并等待服務器的響應,取而代之的是,你希望通過頁面繼續(xù)響應用戶的界面交互,并在服務器響應真正到達后處理它們。要完成它,你可以向XMLHttpRequest注冊一個回調函數(shù),并異步地派發(fā)XMLHttpRequest請求。控制權馬上就被返回到瀏覽器,當服務器響應到達時,回調函數(shù)將會被調用。[AJAX實際應用]1.初始化AjaxAjax實際上就是調用了XMLHttpRequest對象,那么首先我們的就必須調用這個對象,我們構建一個初始化Ajax的函數(shù):/***初始化一個xmlhttp對象*/functionInitAjax(){ varajax=fal
4、se; try{ ajax=newActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ ajax=newActiveXObject("Microsoft.XMLHTTP"); }catch(E){頁. ajax=false; } } if(!ajax&&typeofXMLHttpRequest!='undefined'){ ajax=newXMLHttpRequest(); } returnajax;}你也許會說,這個代碼因為要調用XMLHTTP組件,是不是只有IE瀏覽器能使,不是的經我試驗,F(xiàn)
5、irefox也是能使用的。那么我們在執(zhí)行任何Ajax操作之前,都必須先調用我們的InitAjax()函數(shù)來實例化一個Ajax對象。2.使用Get方式現(xiàn)在我們第一步來執(zhí)行一個Get請求,加入我們需要獲取/show.php?id=1的數(shù)據(jù),那么我們應該怎么做呢?假設有一個鏈接:新聞1,我點該鏈接的時候,不想任何刷新就能夠看到鏈接的內容,那么我們該怎么做呢?//將鏈接改為:<ahref="#"onClick="getNews(1)">新聞1</a>//并且設置一個接收新聞的層,并且設置為不顯示:<d
6、ivid="show_news"></div> 同時構造相應的JavaScript函數(shù):functiongetNews(newsID){ //如果沒有把參數(shù)newsID傳進來 if(typeof(newsID)=='undefined') { returnfalse; } //需要進行Ajax的URL地址 varurl="/show.php?id="+newsID; //獲取新聞顯示層的位置 varshow=document.getElementById("show_news"); //實例化Ajax對象 varajax=InitAjax();頁. /
7、/使用Get方式進行請求 ajax.open("GET",url,true); //獲取執(zhí)行狀態(tài) ajax.onreadystatechange=function(){ //如果執(zhí)行是狀態(tài)正常,那么就把返回的內容賦值給上面指定的層 if(ajax.readyState==4&&ajax.status==200){ show.innerHTML=ajax.responseText; } } //發(fā)送空 ajax.send(null);}那么當,當用戶點擊“新聞1”這個鏈接的時候,在下面對應的層將顯示獲取的內容,而且頁面沒有任何刷新。當然,我們上面省
8、略了show.php這個文件,我們只是假設show.php文件存在