揭秘Ajax 及其入門基礎(chǔ)(續(xù))_AJAX教程
推薦:如何使用WatiN對(duì)ASP.NET頁(yè)面進(jìn)行單元測(cè)試引言 單元測(cè)試是應(yīng)用程序設(shè)計(jì)的一個(gè)重要部分,它可應(yīng)用于程序的多個(gè)層次。本文將主要關(guān)注用戶界面層的單元測(cè)試。我們將使用WatiN 測(cè)試ASP.NET應(yīng)用程序。 什么是WatiN? WatiN 是一個(gè)源自Watir的工具,用于測(cè)試Web頁(yè)面。WatiN表示 W eb A pplication T esting
四、常見(jiàn)Ajax編程框架
既然上述Ajax框架已經(jīng)能工作了,為什么還有那么多的框架呢?
隨著頁(yè)面的復(fù)雜,可能需要書寫大量的Javascript腳本來(lái)對(duì)頁(yè)面中的DOM對(duì)象進(jìn)行控制,工作量和復(fù)雜度會(huì)大大增加。Ajax編程框架通常利用面向?qū)ο蟮姆椒�,�?duì)一些基本的對(duì)象和行為及其復(fù)雜性進(jìn)行了合理的封裝,建造了一套有自己特色的類庫(kù),并且考慮了效率和可擴(kuò)充性等優(yōu)點(diǎn)。我們?cè)陂_(kāi)發(fā)時(shí),可以使用較少的、更清晰的代碼,完成自己的工作。也使程序員有更多的時(shí)間和精力考慮業(yè)務(wù)邏輯本身,而不是與一堆腳本糾纏在一起。
框架都是與后臺(tái)腳本相關(guān)的。通過(guò)后臺(tái)腳本編程,我們可以不必書寫大量的Javascript腳本就能構(gòu)建瀏覽器兼容的Ajax應(yīng)用。
比如,我使用一個(gè)比較流行的PHP xAjax框架,對(duì)前邊的示例程序進(jìn)行了改寫:
<?php
require_once (”../xajax/xajax.inc.php”);
//服務(wù)器處理函數(shù)
function processForm(aFormValues)
{
objResponse = new xajaxResponse();
bError = false;
//清空錯(cuò)誤信息
objResponse->addClear(”usernameInfo”, “innerHTML”);
//判斷賬號(hào)
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>賬號(hào):” .aFormValues[’username’]. “</div>\n”;
}
else
{
objResponse->addAssign(”submitButton”, “value”, “Submit”);
objResponse->addAssign(”submitButton”, “disabled”, false);
}
return objResponse;
}
//構(gòu)造對(duì)象
xajax = new xajax();
//注冊(cè)處理函數(shù)
xajax->registerFunction(”processForm”);
//接管HTTP請(qǐng)求
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 用戶注冊(cè)</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=”驗(yàn)證中…”;
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=”">
<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”> </div>
</body>
</html>
大家看到了這段代碼前邊的包含語(yǔ)句了吧:require_once (”../xajax/xajax.inc.php”)。xajax.inc.php就是定義xajax等相關(guān)類庫(kù)的文件,這個(gè)文件里還包含了大量的javascript腳本文件和其他的常數(shù)定義等。Xajax類有一條自己的屬性和方法,接管和封裝了原始的Ajax的行為和方法,用于處理用戶的事件和頁(yè)面文檔對(duì)象的屬性和外觀。
Ajax框架有它自己的好處,但是,目前由于Ajax框架太多,各有各的優(yōu)點(diǎn)和缺點(diǎn),特別是對(duì)PHP語(yǔ)言,我們很難在眾多的框架中選中一個(gè)最適合我們自己的項(xiàng)目的框架�?蚣芴嗉哟罅私涣鞯某杀��?蚣鼙旧碓诮档土舜a復(fù)雜度的同時(shí),也帶來(lái)了學(xué)習(xí)的成本。不像.NET,背靠財(cái)大氣粗的公司,就一套程序庫(kù),一套通用的IDE,熟練一門語(yǔ)言(比如C#),就可以開(kāi)發(fā)Web和桌面應(yīng)用。
最后還要注意一下,Ajax并不是萬(wàn)金油,任何項(xiàng)目都想用一下。Ajax目前大多數(shù)應(yīng)用在數(shù)據(jù)校驗(yàn)等應(yīng)用上,在項(xiàng)目中用的時(shí)候請(qǐng)慎重考慮。
分享:AJAX教程之jQuery事件總結(jié)很少寫這些,看了1.2.3版本的改進(jìn),確實(shí)佩服,很方便. 1.綁定事件 (1) (p).bind(click, function(e){}); (2) (p).click(function() {}) 2.刪除事件 (1)刪除特定事件 (div).unbind(click); (2)刪除所有事件 (div).unbind(); 3.觸發(fā)事件 (1)trigger方
- Ajax中瀏覽器的緩存問(wèn)題解決方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無(wú)刷新驗(yàn)證郵件地址是否合法)
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁(yè)功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時(shí)間及時(shí)間格式輸出處理
- ajax傳遞多個(gè)參數(shù)具體實(shí)現(xiàn)
- ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)
- 滑輪滾動(dòng)到頁(yè)面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
- 詳談WEB 2.0中AJAX的應(yīng)用
- jPager一個(gè)適合Ajax+JSON+jQuery環(huán)境使用的多功能頁(yè)碼欄
- AJAX避免用戶重復(fù)提交請(qǐng)求實(shí)現(xiàn)方案
- 使用 JavaScript 和 Ajax 發(fā)出異步請(qǐng)求
- Ajax請(qǐng)求中的異步與同步,需要注意的地方說(shuō)明
- Ajax與JSON的一些學(xué)習(xí)總結(jié)
- 解決ajax緩存的三種方法
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁(yè)功能具體思路及代碼
- 利用AjaxControlToolkit實(shí)現(xiàn)百度搜索時(shí)的下拉列表提示詳細(xì)步驟
- Ajax并不神秘揭下各種Ajax控件和類庫(kù)的小褲衩
猜你也喜歡看這些
- Ajax的一些有用的小技巧
- 菜鳥(niǎo)蔡之Ajax復(fù)習(xí)第一篇(后臺(tái)asp.net)(傳統(tǒng)的JavaScript方法實(shí)現(xiàn)Ajax功能)
- AJAX之xmlHttp
- JQuery的ajax的用法在asp中使用$.ajax()實(shí)現(xiàn)
- AJAX入門XMLHttpRequest慨述
- 如何用ajax、asp編寫的查詢程序
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- 怎樣處理書簽和后退按鈕
- jquery ajax實(shí)現(xiàn)批量刪除具體思路及代碼
- AJAX教程之由省份選擇城市
- 相關(guān)鏈接:
- 教程說(shuō)明:
AJAX教程-揭秘Ajax 及其入門基礎(chǔ)(續(xù))
。