現(xiàn)場管理中5M1E是什么
提問者: 房生|瀏覽 116 次|提問時間: 2015-11-08
已有 1 條回答
耿鈞
2016-02-18
最終答案
什么是Ajax·2005-09-0817:36:55·Ajax的定義Ajax不是一個技術(shù),它實際上是幾種技術(shù),每種技術(shù)都有其獨特這處,合在一起就成了一個功能強大的新技術(shù)。Ajax包括:XHTML和CSS使用文檔對象模型(DocumentObjectModel)作動態(tài)顯示和交互使用XML和XSLT做數(shù)據(jù)交互和操作使用XMLHttpRequest進行異步數(shù)據(jù)接收使用JavaScript將它們綁定在一起傳統(tǒng)的web應(yīng)用模型工作起來就象這樣:大部分界面上的用戶動作觸發(fā)一個連接到Web服務(wù)器的HTTP請求。服務(wù)器完成一些處理---接收數(shù)據(jù),處理計算,再訪問其它的數(shù)據(jù)庫系統(tǒng),最后返回一個HTML頁面到客戶端。這是一個老套的模式,自采用超文本作為web使用以來,一直都這樣用,但看過《TheElementsofUserExperience》的讀者一定知道,是什么限制了Web界面沒有桌面軟件那么好用。圖1:傳統(tǒng)Web應(yīng)用模型(左)與Ajax模型的比較(右).這種舊的途徑讓我們認識到了許多技術(shù),但它不會產(chǎn)生很好的用戶體驗。當服務(wù)器正在處理自己的事情的時候,用戶在做什么?沒錯,等待。每一個動作,用戶都要等待。很明顯,如果我們按桌面程序的思維設(shè)計Web應(yīng)用,我們不愿意讓用戶總是等待。當界面加載后,為什么還要讓用戶每次再花一半的時間從服務(wù)取數(shù)據(jù)?實際上,為什么老是讓用戶看到程序去服務(wù)器取數(shù)據(jù)呢?Ajax如何不同凡響通過在用戶和服務(wù)器之間引入一個Ajax引擎,可以消除Web的開始-停止-開始-停止這樣的交互過程.它就像增加了一層機制到程序中,使它響應(yīng)更靈敏,而它的確做到了這一點。不像加載一個頁面一樣,在會話的開始,瀏覽器加載了一個Ajax引擎---采用JavaScript編寫并且通常在一個隱藏frame中。這個引擎負責(zé)繪制用戶界面以及與服務(wù)器端通訊。Ajax引擎允許用異步的方式實現(xiàn)用戶與程序的交互--不用等待服務(wù)器的通訊。所以用戶再不不用打開一個空白窗口,看到等待光標不斷的轉(zhuǎn),等待服務(wù)器完成后再響應(yīng)。圖2:傳統(tǒng)Web應(yīng)用的同步交互過程(上)和Ajax應(yīng)用的異步交互過程的比較(下).通常要產(chǎn)生一個HTTP請求的用戶動作現(xiàn)在通過JavaScript調(diào)用Ajax引擎來代替.任何用戶動作的響應(yīng)不再要求直接傳到服務(wù)器---例如簡單的數(shù)據(jù)校驗,內(nèi)存中的數(shù)據(jù)編輯,甚至一些頁面導(dǎo)航---引擎自己就可以處理它.如果引擎需要從服務(wù)器取數(shù)據(jù)來響應(yīng)用戶動作---假設(shè)它提交需要處理的數(shù)據(jù),載入另外的界面代碼,或者接收新的數(shù)據(jù)---引擎讓這些工作異步進行,通常使用XML,不用再擔(dān)誤用戶界面的交互。