最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ajax PHP簡單入門教程代碼

 更新時間:2008年04月25日 15:00:46   作者:  
Ajax 由 HTML、Javascrīpt™ 技術、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序。對于Ajax,最核心的一個對象是XMLHttpRequest,所有的Ajax操作都離不開對這個對象的操作。
首先我們來了解怎么在javascrīpt中創(chuàng)建這個對象:
var xmlHttp = new XMLHttpRequest();
這行簡單的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 瀏覽器中,創(chuàng)建了 XMLHttpRequest 對象。但是對于市場占有率達到70%的IE來說,這種方法是不行的,而不同的IE版本還有不同的創(chuàng)建方法,所以我們需要在IE下面使用下面兩種創(chuàng)建對象的辦法:
復制代碼 代碼如下:

try { 
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//針對較新的瀏覽器 
} catch (err) { 
try { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//針對較老的瀏覽器 
} catch (err2) { 
xmlHttp = false; 


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

if (!xmlHttp){
alert("無法創(chuàng)建 XMLHttpRequest 對象!");
}
結合起來就是:

復制代碼 代碼如下:

var xmlHttp = false; 
try { 
xmlHttp = new XMLHttpRequest(); 
} catch (trymicrosoft) { 
try { 
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
} catch (othermicrosoft) { 
try { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} catch (failed) { 
xmlHttp = false; 



if (!xmlHttp){ 
alert("無法創(chuàng)建 XMLHttpRequest 對象!"); 


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

復制代碼 代碼如下:

function getInfo() { 
var num = document.getElementById("num").value;//獲得表單的數(shù)據 
var url = "/ajax/1.php?n=" + escape(num); 
xmlHttp.open("GET", url, true);//這里的true代表是異步請求 

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

xmlHttp.send(null);
在發(fā)送了數(shù)據之后,我們需要用回調方法來獲得服務器的狀態(tài),所以就用到了onreadystatechange 屬性。

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

復制代碼 代碼如下:

function getInfo() { 
var num = document.getElementById("num").value;//獲得表單的數(shù)據 
var url = "/ajax/1.php?n=" + escape(num); 
xmlHttp.open("GET", url, true);//這里的true代表是異步請求 
xmlHttp.onreadystatechange = updatePage; 
xmlHttp.send(null); 


我們還需要在html里面來觸發(fā)這個函數(shù):

<input name="num" id="num" onblur="getInfo()" type="text" />
下面我們需要來編寫updatePage()這個函數(shù):

function updatePage(){
if (xmlhttp.readyState == 4) {
var response = xmlhttp.responseText;
document.getElementById("city").value = response;
}
}
上面這段代碼里面的readyState是服務器返回的一個狀態(tài),4這個狀態(tài)表示請求已經發(fā)送,并處理完畢。responseText是獲得服務器返回的信息,然后通過javascrīpt賦給ID為city的表單。

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

var xmlHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlHttp = false;
}
}
}
if (!xmlHttp){
alert("無法創(chuàng)建 XMLHttpRequest 對象!");
}

function getInfo() {
var num = document.getElementById("num").value;//獲得表單的數(shù)據
var url = "/ajax/1.php?n=" + escape(num);
xmlHttp.open("GET", url, true);//這里的true代表是異步請求
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

function updatePage(){
if (xmlhttp.readyState == 4) {
var response = xmlhttp.responseText;
document.getElementById("city").value = response;
}
}
這里還缺一個php文件,由于處理的方式不一樣,寫法也不一樣,而且這不是Ajax的主要部分,所以這里就不放代碼了。只要記住php是輸出并返回所需要的數(shù)據就可以了。




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

相關文章

  • 使用PHP實現(xiàn)遠程控制三路開關

    使用PHP實現(xiàn)遠程控制三路開關

    怎樣用PHP語言實現(xiàn)遠程控制三路開關呢?本文描述了使用PHP語言調用HTTP接口,實現(xiàn)控制三路開關,三路開關可控制三路照明、排風扇等電器,文中有詳細的代碼示例,需要的朋友可以參考下
    2024-04-04
  • PHP 高級課程筆記 面向對象

    PHP 高級課程筆記 面向對象

    第一節(jié)課,講的是面向對象的基本知識,介紹了類的封裝,類的繼承,對象,類的定義和使用,類的結構,成員方法,成員變量與屬性等零碎知識,這里只是把幾個例子的源代碼貼出來,僅供參考。
    2009-06-06
  • PHP排序算法之基數(shù)排序(Radix Sort)實例詳解

    PHP排序算法之基數(shù)排序(Radix Sort)實例詳解

    這篇文章主要介紹了PHP排序算法之基數(shù)排序(Radix Sort),結合實例形式詳細分析了php基數(shù)排序算法的原理、實現(xiàn)方法與相關使用技巧,需要的朋友可以參考下
    2018-04-04
  • PHP之變量、常量學習筆記

    PHP之變量、常量學習筆記

    親密接觸PHP之變量、常量學習筆記(閱讀筆記自PHP手冊) PHP 中一個美元符號($)后面跟上一個變量名稱,即表示一個變量。變量的名稱是對大小寫敏感的。其中變量名允許數(shù)字或下劃線打頭。
    2008-03-03
  • php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法

    php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法

    這篇文章主要介紹了php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法,詳細分析了微信支付api.mch.weixin.qq.com域名解析慢原因與使用curl_easy_setopt指定ipv4解決ipv6解析問題的相關技巧,需要的朋友可以參考下
    2016-10-10
  • apache+php+mysql安裝配置方法小結

    apache+php+mysql安裝配置方法小結

    以前用一直用PHP XAMPP 軟件站集成軟件包開發(fā)PHP項目,不知道單獨安裝各個模塊會有那么多問題,這次花了大半天才將環(huán)境搭建好。
    2010-08-08
  • WordPress中用于創(chuàng)建以及獲取側邊欄的PHP函數(shù)講解

    WordPress中用于創(chuàng)建以及獲取側邊欄的PHP函數(shù)講解

    這篇文章主要介紹了WordPress中用于創(chuàng)建以及獲取側邊欄的PHP函數(shù)講解,分別為register_sidebar()函數(shù)和get_sidebar()的使用,需要的朋友可以參考下
    2015-12-12
  • php接口技術實例詳解

    php接口技術實例詳解

    這篇文章主要介紹了php接口技術,結合實例形式分析了php接口的基本概念、功能、定義、使用方法與相關注意事項,需要的朋友可以參考下
    2016-12-12
  • PHP使用SMTP郵件服務器發(fā)送郵件示例

    PHP使用SMTP郵件服務器發(fā)送郵件示例

    這篇文章主要介紹了PHP使用SMTP郵件服務器發(fā)送郵件,結合實例形式分析了php基于SMTP協(xié)議的郵件發(fā)送類email.class.php定義與使用技巧,需要的朋友可以參考下
    2018-08-08
  • PHP實現(xiàn)分布式memcache設置web集群session同步的方法

    PHP實現(xiàn)分布式memcache設置web集群session同步的方法

    這篇文章主要介紹了PHP實現(xiàn)分布式memcache設置web集群session同步的方法,結合實例形式分析了php設置與使用memcache實現(xiàn)web集群session同步的相關操作技巧與注意事項,需要的朋友可以參考下
    2018-04-04

最新評論

武鸣县| 兴仁县| 新丰县| 诸城市| 会同县| 杭锦旗| 梁平县| 孝义市| 武胜县| 乌兰浩特市| 门头沟区| 长沙县| 苗栗市| 东明县| 河源市| 大姚县| 蛟河市| 镇赉县| 阜南县| 南华县| 瓮安县| 榆林市| 留坝县| 调兵山市| 泰顺县| 胶南市| 电白县| 菏泽市| 潞城市| 连云港市| 长治县| 息烽县| 庆云县| 临漳县| 城市| 文山县| 长沙市| 浮山县| 美姑县| 明水县| 高雄市|