摘 要:本文通過采用Ajax技術(shù),在無須刷新的情況下實(shí)現(xiàn)表單內(nèi)容的服務(wù)端驗(yàn)證。
關(guān)鍵詞:網(wǎng)站開發(fā) Ajax 動(dòng)態(tài)網(wǎng)頁 PHP
Ajax是由Jesse James Garret創(chuàng)造的,是Asynchronous JavaScript And XML 的縮寫,即異步JavaScript和XML技術(shù)。PHP是英文超文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,被廣泛地運(yùn)用。
一、建立服務(wù)端驗(yàn)證頁面form.php。
服務(wù)端驗(yàn)證頁面可以采用任意動(dòng)態(tài)網(wǎng)頁編程語言開發(fā),在本文中則采用PHP.Form.php程序運(yùn)行所產(chǎn)生的效果是,當(dāng)向其用GET方式傳遞name值為“l(fā)t”的表單時(shí),如果“l(fā)t”的value值為“www.evilda.com”則返回字符串“OK!”,否則返回字符串“ERROR!”。
二、搭建Ajax開發(fā)框架
(一)創(chuàng)建自定義請(qǐng)求函數(shù)createRequest用于初始化對(duì)象并發(fā)出XMLHttpRequest請(qǐng)求。
1、初始化對(duì)象并進(jìn)行兼容性處理。
If(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType) {
http_request.overrideMimeType(“text/xml”);
}
}else}
If(window.ActiveXobject){
Try{
http_request=new ActiveXobject (“Msxml2. XMLHTTP”);
}catch(e){
try{ http_request=new Active Xobject (“Microsoft.XMLHTTP”);
}catch(e){}
}
}
}
2、判斷對(duì)象是否創(chuàng)建成功并發(fā)出請(qǐng)求。
http_request是一個(gè)變量,其默認(rèn)值為1,綜合圖1可以看出,如果XMLHTTP創(chuàng)建成功了,其值必然會(huì)被改變,此處的判斷也就無法成立,可以判斷XMLHTTP是否被成功創(chuàng)建。
三、創(chuàng)建表單驗(yàn)證函數(shù)。
代碼的作用為檢測(cè)表單輸入框中輸入內(nèi)容是否為空,如果不為空則調(diào)用createdRequest函數(shù)發(fā)送請(qǐng)求,其中nocache =new Date().getTime()為清除緩存代碼,否則在多次驗(yàn)證的時(shí)候便會(huì)發(fā)生錯(cuò)誤,show.innerHTML=“內(nèi)容不能為空!”的意思是改變id=show的div內(nèi)容為:內(nèi)容不能為空,當(dāng)賦值字符串中包含有html語言的時(shí)候,瀏覽器也會(huì)將其執(zhí)行。
function 1tkey( ){
var 1t=form1.1t.value;
if(1t= =“ ”){
show.innerHTML=“內(nèi)容不能為空!”;
form1.1t.focus( );
return 1;
}else{
createRequest(‘form.php?1t=’+1t+’nocache=’+new Date( ). getTime( ) );
}
}
四、將代碼模塊整合到index.html中。