| 導購 | 订阅 | 在线投稿
分享
 
 
 

Ajax+PHP簡單入門教程

來源:互聯網  2008-12-22 08:10:49  評論

Ajax 由 HTML、JavaScript™ 技術、DHTML 和 DOM 組成,這一傑出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序。對于Ajax,最核心的一個對象是XMLHttpRequest,所有的Ajax操作都離不開對這個對象的操作。

首先我們來了解怎麽在javascript中創建這個對象:

varxmlHttp=newXMLHttpRequest();

這行簡單的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏覽器中,創建了XMLHttpRequest對象。但是對于市場占有率達到70%的IE來說,這種方法是不行的,而不同的IE版本還有不同的創建方法,所以我們需要在IE下面使用下面兩種創建對象的辦法:

try{

xmlHttp=newActiveXObject("Msxml2.XMLHTTP");//針對較新的浏覽器

}catch(err){

try{

xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//針對較老的浏覽器

}catch(err2){

xmlHttp=false;

}

}

即使這樣,我們也無法預料有些浏覽器可能無法創建這個對象,所以在創建不成功的情況下,我們還要加上一句:

if(!xmlHttp){

alert("無法創建 XMLHttpRequest 對象!");

}

結合起來就是:

varxmlHttp=false;

try{

xmlHttp=newXMLHttpRequest();

}catch(trymicrosoft){

try{

xmlHttp=newActiveXObject("Msxml2.XMLHTTP");

}catch(othermicrosoft){

try{

xmlHttp=newActiveXObject("Microsoft.XMLHTTP");

}catch(failed){

xmlHttp=false;

}

}

}

if(!xmlHttp){

alert("無法創建 XMLHttpRequest 對象!");

}

然後,讓我們建立一個函數getInfo(),打開異步請求:

functiongetInfo(){

varnum=document.getElementById("num").value;//獲得表單的數據

varurl="/ajax/1.php?n="+escape(num);

xmlHttp.open("GET",url,true);//這裏的true代表是異步請求

}

一旦用open()配置好之後,就可以發送請求了。雖然可以使用send()發送數據,但也能通過 URL 本身發送數據。事實上,在大部分GET請求中,用 URL 發送數據要容易得多,所以這裏用null作爲send()的參數就可以了。url地址裏面的php文件是被請求來處理所需要數據的php文件,就像我們平時用PHP的時候一樣,後面的參數可以加多個,並用&分隔開來。

xmlHttp.send(null);

在發送了數據之後,我們需要用回調方法來獲得服務器的狀態,所以就用到了onreadystatechange屬性。

xmlHttp.onreadystatechange=updatePage;

此語句已經要放在send()語句前面,這樣才會有效,後面的updatePage是處理返回信息的一個函數。完整的getInfo()如下:

functiongetInfo(){

varnum=document.getElementById("num").value;//獲得表單的數據

varurl="/ajax/1.php?n="+escape(num);

xmlHttp.open("GET",url,true);//這裏的true代表是異步請求

xmlHttp.onreadystatechange=updatePage;

xmlHttp.send(null);

}

我們還需要在html裏面來觸發這個函數:

<inputname="num"id="num"onblur="getInfo()"type="text"/>

下面我們需要來編寫updatePage()這個函數:

functionupdatePage(){

if(xmlhttp.readyState==4){

varresponse=xmlhttp.responseText;

document.getElementById("city").value=response;

}

}

上面這段代碼裏面的readyState是服務器返回的一個狀態,4這個狀態表示請求已經發送,並處理完畢。responseText是獲得服務器返回的信息,然後通過javascript賦給ID爲city的表單。

到此,一個簡單的Ajax程序就完成了,完整的javascript代碼如下:

varxmlHttp=false;

try{

xmlHttp=newXMLHttpRequest();

}catch(trymicrosoft){

try{

xmlHttp=newActiveXObject("Msxml2.XMLHTTP");

}catch(othermicrosoft){

try{

xmlHttp=newActiveXObject("Microsoft.XMLHTTP");

}catch(failed){

xmlHttp=false;

}

}

}

if(!xmlHttp){

alert("無法創建 XMLHttpRequest 對象!");

}

functiongetInfo(){

varnum=document.getElementById("num").value;//獲得表單的數據

varurl="/ajax/1.php?n="+escape(num);

xmlHttp.open("GET",url,true);//這裏的true代表是異步請求

xmlHttp.onreadystatechange=updatePage;

xmlHttp.send(null);

}

functionupdatePage(){

if(xmlhttp.readyState==4){

varresponse=xmlhttp.responseText;

document.getElementById("city").value=response;

}

}

這裏還缺一個php文件,由于處理的方式不一樣,寫法也不一樣,而且這不是Ajax的主要部分,所以這裏就不放代碼了。只要記住php是輸出並返回所需要的數據就可以了

好久沒更新,今天看到這教程,對初學者挺適合.

Ajax 由 HTML、JavaScript™ 技術、DHTML 和 DOM 組成,這一傑出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序。對于Ajax,最核心的一個對象是XMLHttpRequest,所有的Ajax操作都離不開對這個對象的操作。 首先我們來了解怎麽在javascript中創建這個對象: varxmlHttp=newXMLHttpRequest(); 這行簡單的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏覽器中,創建了XMLHttpRequest對象。但是對于市場占有率達到70%的IE來說,這種方法是不行的,而不同的IE版本還有不同的創建方法,所以我們需要在IE下面使用下面兩種創建對象的辦法: try{ xmlHttp=newActiveXObject("Msxml2.XMLHTTP");//針對較新的浏覽器 }catch(err){ try{ xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//針對較老的浏覽器 }catch(err2){ xmlHttp=false; } } 即使這樣,我們也無法預料有些浏覽器可能無法創建這個對象,所以在創建不成功的情況下,我們還要加上一句: if(!xmlHttp){ alert("無法創建 XMLHttpRequest 對象!"); } 結合起來就是: varxmlHttp=false; try{ xmlHttp=newXMLHttpRequest(); }catch(trymicrosoft){ try{ xmlHttp=newActiveXObject("Msxml2.XMLHTTP"); }catch(othermicrosoft){ try{ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); }catch(failed){ xmlHttp=false; } } } if(!xmlHttp){ alert("無法創建 XMLHttpRequest 對象!"); } 然後,讓我們建立一個函數getInfo(),打開異步請求: functiongetInfo(){ varnum=document.getElementById("num").value;//獲得表單的數據 varurl="/ajax/1.php?n="+escape(num); xmlHttp.open("GET",url,true);//這裏的true代表是異步請求 } 一旦用open()配置好之後,就可以發送請求了。雖然可以使用send()發送數據,但也能通過 URL 本身發送數據。事實上,在大部分GET請求中,用 URL 發送數據要容易得多,所以這裏用null作爲send()的參數就可以了。url地址裏面的php文件是被請求來處理所需要數據的php文件,就像我們平時用PHP的時候一樣,後面的參數可以加多個,並用&分隔開來。 xmlHttp.send(null); 在發送了數據之後,我們需要用回調方法來獲得服務器的狀態,所以就用到了onreadystatechange屬性。 xmlHttp.onreadystatechange=updatePage; 此語句已經要放在send()語句前面,這樣才會有效,後面的updatePage是處理返回信息的一個函數。完整的getInfo()如下: functiongetInfo(){ varnum=document.getElementById("num").value;//獲得表單的數據 varurl="/ajax/1.php?n="+escape(num); xmlHttp.open("GET",url,true);//這裏的true代表是異步請求 xmlHttp.onreadystatechange=updatePage; xmlHttp.send(null); } 我們還需要在html裏面來觸發這個函數: <inputname="num"id="num"onblur="getInfo()"type="text"/> 下面我們需要來編寫updatePage()這個函數: functionupdatePage(){ if(xmlhttp.readyState==4){ varresponse=xmlhttp.responseText; document.getElementById("city").value=response; } } 上面這段代碼裏面的readyState是服務器返回的一個狀態,4這個狀態表示請求已經發送,並處理完畢。responseText是獲得服務器返回的信息,然後通過javascript賦給ID爲city的表單。 到此,一個簡單的Ajax程序就完成了,完整的javascript代碼如下: varxmlHttp=false; try{ xmlHttp=newXMLHttpRequest(); }catch(trymicrosoft){ try{ xmlHttp=newActiveXObject("Msxml2.XMLHTTP"); }catch(othermicrosoft){ try{ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); }catch(failed){ xmlHttp=false; } } } if(!xmlHttp){ alert("無法創建 XMLHttpRequest 對象!"); } functiongetInfo(){ varnum=document.getElementById("num").value;//獲得表單的數據 varurl="/ajax/1.php?n="+escape(num); xmlHttp.open("GET",url,true);//這裏的true代表是異步請求 xmlHttp.onreadystatechange=updatePage; xmlHttp.send(null); } functionupdatePage(){ if(xmlhttp.readyState==4){ varresponse=xmlhttp.responseText; document.getElementById("city").value=response; } } 這裏還缺一個php文件,由于處理的方式不一樣,寫法也不一樣,而且這不是Ajax的主要部分,所以這裏就不放代碼了。只要記住php是輸出並返回所需要的數據就可以了 好久沒更新,今天看到這教程,對初學者挺適合.
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有