日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

PHP教程之Ajax進(jìn)行Web開發(fā)_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:淺談PHP數(shù)組讀取的循環(huán)操作
PHP基本上就是一種數(shù)組語(yǔ)言。時(shí)常要進(jìn)行大量的數(shù)組循環(huán)操作,主要有兩種方式,一種是foreach,另一種是while,到底哪種好哪種壞一直有爭(zhēng)論,雖然我很早就意識(shí)到了這個(gè)問(wèn)題,但是一直沒(méi)有細(xì)究,懵懂的感覺(jué)一直持續(xù)到現(xiàn)在,為了以后能節(jié)省點(diǎn)CPU時(shí)間,下面總結(jié)

AJAX無(wú)疑是2005年炒的最熱的Web開發(fā)技術(shù)之一,當(dāng)然,這個(gè)功勞離不開Google。我只是一個(gè)普通開發(fā)者,使用AJAX的地方不是特別多,我就簡(jiǎn)單的把我使用的心得說(shuō)一下。(本文假設(shè)用戶已經(jīng)具有JavaScript、HTML、CSS等基本的Web開發(fā)能力)

[AJAX介紹]

Ajax是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。Web頁(yè)面不用打斷交互流程進(jìn)行重新加裁,就可以動(dòng)態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的Web用戶界面。

異步JavaScript和XML(AJAX)不是什么新技術(shù),而是使用幾種現(xiàn)有技術(shù)——包括級(jí)聯(lián)樣式表(CSS)、JavaScript、XHTML、XML和可擴(kuò)展樣式語(yǔ)言轉(zhuǎn)換(XSLT),開發(fā)外觀及操作類似桌面軟件的Web應(yīng)用軟件。

[AJAX執(zhí)行原理]

一個(gè)Ajax交互從一個(gè)稱為XMLHttpRequest的JavaScript對(duì)象開始。如同名字所暗示的,它允許一個(gè)客戶端腳本來(lái)執(zhí)行HTTP請(qǐng)求,并且將會(huì)解析一個(gè)XML格式的服務(wù)器響應(yīng)。Ajax處理過(guò)程中的第一步是創(chuàng)建一個(gè)XMLHttpRequest實(shí)例。使用HTTP方法(GET或POST)來(lái)處理請(qǐng)求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對(duì)象上。

當(dāng)你發(fā)送HTTP請(qǐng)求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之的是,你希望通過(guò)頁(yè)面繼續(xù)響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向XMLHttpRequest注冊(cè)一個(gè)回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請(qǐng)求。控制權(quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng)到達(dá)時(shí),回調(diào)函數(shù)將會(huì)被調(diào)用。

[AJAX實(shí)際應(yīng)用]

1. 初始化Ajax

Ajax實(shí)際上就是調(diào)用了XMLHttpRequest對(duì)象,那么首先我們的就必須調(diào)用這個(gè)對(duì)象,我們構(gòu)建一個(gè)初始化Ajax的函數(shù):

/**

* 初始化一個(gè)xmlhttp對(duì)象

*/

function InitAjax()

{

var ajax=false;

try {

ajax = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

ajax = new ActiveXObject("Microsoft.XMLHTTP");

} catch (E) {

ajax = false;

}

}

if (!ajax && typeof XMLHttpRequest!='undefined') {

ajax = new XMLHttpRequest();

}

return ajax;

}

你也許會(huì)說(shuō),這個(gè)代碼因?yàn)橐{(diào)用XMLHTTP組件,是不是只有IE瀏覽器能使,不是的經(jīng)我試驗(yàn),F(xiàn)irefox也是能使用的。

那么我們?cè)趫?zhí)行任何Ajax操作之前,都必須先調(diào)用我們的InitAjax()函數(shù)來(lái)實(shí)例化一個(gè)Ajax對(duì)象。

2. 使用Get方式

現(xiàn)在我們第一步來(lái)執(zhí)行一個(gè)Get請(qǐng)求,加入我們需要獲取 /show.php?id=1的數(shù)據(jù),那么我們應(yīng)該怎么做呢?

假設(shè)有一個(gè)鏈接:新聞1,我點(diǎn)該鏈接的時(shí)候,不想任何刷新就能夠看到鏈接的內(nèi)容,那么我們?cè)撛趺醋瞿?

//將鏈接改為:

新聞1

//并且設(shè)置一個(gè)接收新聞的層,并且設(shè)置為不顯示:

同時(shí)構(gòu)造相應(yīng)的JavaScript函數(shù):

function getNews(newsID)

{

//如果沒(méi)有把參數(shù)newsID傳進(jìn)來(lái)

if (typeof(newsID) == 'undefined')

{

return false;

}

//需要進(jìn)行Ajax的URL地址

var url = "/show.php?id=" newsID;

//獲取新聞顯示層的位置

var show = document.getElementById("show_news");

//實(shí)例化Ajax對(duì)象

var ajax = InitAjax();

//使用Get方式進(jìn)行請(qǐng)求

ajax.open("GET", url, true);

//獲取執(zhí)行狀態(tài)

ajax.onreadystatechange = function() {

//如果執(zhí)行是狀態(tài)正常,那么就把返回的內(nèi)容賦值給上面指定的層

if (ajax.readyState == 4 && ajax.status == 200) {

show.innerHTML = ajax.responseText;

}

}

//發(fā)送空

ajax.send(null);

}

那么當(dāng),當(dāng)用戶點(diǎn)擊“新聞1”這個(gè)鏈接的時(shí)候,在下面對(duì)應(yīng)的層將顯示獲取的內(nèi)容,而且頁(yè)面沒(méi)有任何刷新。當(dāng)然,我們上面省略了show.php這個(gè)文件,我們只是假設(shè)show.php文件存在,并且能夠正常工作的從數(shù)據(jù)庫(kù)中把id為1的新聞提取出來(lái)。

這種方式適應(yīng)于頁(yè)面中任何元素,包括表單等等,其實(shí)在應(yīng)用中,對(duì)表單的操作是比較多的,針對(duì)表單,更多使用的是POST方式,這個(gè)下面將講述。

3. 使用POST方式

其實(shí)POST方式跟Get方式是比較類似的,只是在執(zhí)行Ajax的時(shí)候稍有不同,我們簡(jiǎn)單講述一下。

假設(shè)有一個(gè)用戶輸入資料的表單,我們?cè)跓o(wú)刷新的情況下把用戶資料保存到數(shù)據(jù)庫(kù)中,同時(shí)給用戶一個(gè)成功的提示。

//構(gòu)建一個(gè)表單,表單中不需要action、method之類的屬性,全部由ajax來(lái)搞定了。

姓名:

年齡:

性別:

分享:談PHP開發(fā)者必不可少的五個(gè)發(fā)展要素
語(yǔ)法結(jié)構(gòu)教科書上的知識(shí)和實(shí)際的程序設(shè)計(jì)是有區(qū)別的,真正的知識(shí)要在實(shí)際的開發(fā)中獲得。每個(gè)php的開發(fā)人員在開始開發(fā)web應(yīng)用程序之前,都應(yīng)該熟悉下面的五件事: 1. 框架 框架可以說(shuō)是php開發(fā)中的一個(gè)最重要的問(wèn)題。用php開發(fā)web應(yīng)用程序時(shí)有很多方法,有很

共2頁(yè)上一頁(yè)12下一頁(yè)
來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2009-05-17
相關(guān)PHP教程