国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

揭秘Ajax 及其入門基礎(續)

2024-09-01 08:26:21
字體:
來源:轉載
供稿:網友

四、常見Ajax編程框架
既然上述Ajax框架已經能工作了,為什么還有那么多的框架呢?
隨著頁面的復雜,可能需要書寫大量的Javascript腳本來對頁面中的DOM對象進行控制,工作量和復雜度會大大增加。Ajax編程框架通常利用面向對象的方法,對一些基本的對象和行為及其復雜性進行了合理的封裝,建造了一套有自己特色的類庫,并且考慮了效率和可擴充性等優點。我們在開發時,可以使用較少的、更清晰的代碼,完成自己的工作。也使程序員有更多的時間和精力考慮業務邏輯本身,而不是與一堆腳本糾纏在一起。
框架都是與后臺腳本相關的。通過后臺腳本編程,我們可以不必書寫大量的Javascript腳本就能構建瀏覽器兼容的Ajax應用。
比如,我使用一個比較流行的PHP xAjax框架,對前邊的示例程序進行了改寫:
<?php
require_once (”../xajax/xajax.inc.php”);

//服務器處理函數
function processForm(aFormValues)
{
objResponse = new xajaxResponse();
bError = false;

//清空錯誤信息
objResponse->addClear(”usernameInfo”, “innerHTML”);

//判斷賬號
if (trim(aFormValues[’username’]) == “”)
{
objResponse->addAppend(”usernameInfo”, “innerHTML”, “Please Input user name.”);
bError = true;
}
else
{
if(trim(aFormValues[’username’])==”Thomas”)
objResponse->addAppend(”usernameInfo”, “innerHTML”, “Has been registed”);
else
objResponse->addAppend(”usernameInfo”, “innerHTML”, “Has not been registed”);
bError = false;
}

if (!bError)
{
sForm .=”<div>賬號:” .aFormValues[’username’]. “</div>/n”;
}
else
{
objResponse->addAssign(”submitButton”, “value”, “Submit”);
objResponse->addAssign(”submitButton”, “disabled”, false);
}

return objResponse;
}

//構造對象
xajax = new xajax();

//注冊處理函數
xajax->registerFunction(”processForm”);

//接管HTTP請求
xajax->processRequests();
?>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
<?php
//生成必要的JavaScript
xajax->printJavascript(’../xajax/’);
?>

<title>XAJAX 用戶注冊</title>
<style type=”text/css”>
#formWrapper{ color: #111111; background-color: rgb(200,200,200); width: 360px;}
#title{color: #FFFFFF; text-align: center; background-color: #000000; }
#formDiv{ padding: 20px;}
.submitDiv{ margin-top: 10px; text-align: center; }
.errorSpan{ color:red;}
</style>

<script type=”text/javascript”>
<!–//提交表單
function submitSignup()
{
xajax.(’submitButton’).disabled=true;
xajax.(’submitButton’).value=”驗證中…”;
xajax_processForm(xajax.getFormValues(”signupForm”));
return false;
}
//–>
</script>

</head>

<body>

<form id=”signupForm” action=”javascript:void(null);” onsubmit=”submitSignup();”>
用戶名:<input type=”text” name=”username” value=”">&nbsp;
<input type=”button” name=”check” value=”Check Only one” onClick=”submitSignup();”>
<input type=”submit” id=”submitButton” name=”submit” value=”Submit”>
</form>

<div id=”usernameInfo” class=”errorSpan”>&nbsp;</div>

</body>
</html>

大家看到了這段代碼前邊的包含語句了吧:require_once (”../xajax/xajax.inc.php”)。xajax.inc.php就是定義xajax等相關類庫的文件,這個文件里還包含了大量的javascript腳本文件和其他的常數定義等。Xajax類有一條自己的屬性和方法,接管和封裝了原始的Ajax的行為和方法,用于處理用戶的事件和頁面文檔對象的屬性和外觀。
Ajax框架有它自己的好處,但是,目前由于Ajax框架太多,各有各的優點和缺點,特別是對PHP語言,我們很難在眾多的框架中選中一個最適合我們自己的項目的框架??蚣芴嗉哟罅私涣鞯某杀?。框架本身在降低了代碼復雜度的同時,也帶來了學習的成本。不像.NET,背靠財大氣粗的公司,就一套程序庫,一套通用的IDE,熟練一門語言(比如C#),就可以開發Web和桌面應用。
最后還要注意一下,Ajax并不是萬金油,任何項目都想用一下。Ajax目前大多數應用在數據校驗等應用上,在項目中用的時候請慎重考慮。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乡市| 乌审旗| 姜堰市| 绥化市| 冷水江市| 万荣县| 北安市| 斗六市| 吴江市| 塘沽区| 稻城县| 西青区| 贡嘎县| 修武县| 伊春市| 富阳市| 曲沃县| 河北区| 柯坪县| 松潘县| 旅游| 海宁市| 库尔勒市| 平顶山市| 昭觉县| 都匀市| 永顺县| 武邑县| 个旧市| 红原县| 乐昌市| 兴国县| 万宁市| 静宁县| 泰州市| 西峡县| 乌苏市| 天祝| 大同市| 海口市| 乌苏市|