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

Ajax PHP簡單入門教程代碼

 更新時間:2008年04月25日 15:00:46   作者:  
Ajax 由 HTML、Javascrīpt™ 技術(shù)、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉(zhuǎn)化成交互性的 Ajax 應(yīng)用程序。對于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)建對象的辦法:
復(fù)制代碼 代碼如下:

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


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

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

復(fù)制代碼 代碼如下:

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(),打開異步請求:

復(fù)制代碼 代碼如下:

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

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

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

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

復(fù)制代碼 代碼如下:

function getInfo() { 
var num = document.getElementById("num").value;//獲得表單的數(shù)據(jù) 
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是服務(wù)器返回的一個狀態(tài),4這個狀態(tài)表示請求已經(jīng)發(fā)送,并處理完畢。responseText是獲得服務(wù)器返回的信息,然后通過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ù)據(jù)
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ù)據(jù)就可以了。




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

相關(guān)文章

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

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

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

    PHP之變量、常量學(xué)習(xí)筆記

    親密接觸PHP之變量、常量學(xué)習(xí)筆記(閱讀筆記自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解析問題的相關(guān)技巧,需要的朋友可以參考下
    2016-10-10
  • apache+php+mysql安裝配置方法小結(jié)

    apache+php+mysql安裝配置方法小結(jié)

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

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

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

    php接口技術(shù)實例詳解

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

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

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

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

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

    金平| 金平| 和林格尔县| 海盐县| 中山市| 龙门县| 禹城市| 万载县| 武山县| 千阳县| 万源市| 荥经县| 彰化县| 宁德市| 贵定县| 商丘市| 乌兰县| 昌宁县| 永寿县| 乐山市| 信丰县| 思茅市| 泊头市| 德昌县| 六安市| 辽阳县| 阿拉善右旗| 龙游县| 特克斯县| 上饶县| 元氏县| 巧家县| 寿宁县| 乃东县| 淳安县| 沁水县| 留坝县| 郯城县| 三穗县| 元江| 澳门|