1 什么是AJAX
AJAX(Asynchronous JavaScript And XML)翻譯成中文就是“異步Javascript和XML”。即使用Javascript語言與服務器進行異步交互,傳輸的數據為XML(當然,傳輸的數據不只是XML)。
AJAX還有一個最大的特點就是,當服務器響應時,不用刷新整個瀏覽器頁面,而是可以局部刷新。這一特點給用戶的感受是在不知不覺中完成請求和響應過程。
2. 同步交互與異步交互
同步交互:客戶端發出一個請求后,需要等待服務器響應結束后,才能發出第二個請求; 異步交互:客戶端發出一個請求后,無需等待服務器響應結束,就可以發出第二個請求。3. AJAX常見應用情景
當我們在百度中輸入一個“傳”字后,會馬上出現一個下拉列表!列表中顯示的是包含“傳”字的10個關鍵字。
其實這里就使用了AJAX技術!當文件框發生了輸入變化時,瀏覽器會使用AJAX技術向服務器發送一個請求,查詢包含“傳”字的前10個關鍵字,然后服務器會把查詢到的結果響應給瀏覽器,最后瀏覽器把這10個關鍵字顯示在下拉列表中。
整個過程中頁面沒有刷新,只是刷新頁面中的局部位置而已! 當請求發出后,瀏覽器還可以進行其他操作,無需等待服務器的響應!當輸入用戶名后,把光標移動到其他表單項上時,瀏覽器會使用AJAX技術向服務器發出請求,服務器會查詢名為zhangSan的用戶是否存在,最終服務器返回true表示名為zhangSan的用戶已經存在了,瀏覽器在得到結果后顯示“用戶名已被注冊!”。
整個過程中頁面沒有刷新,只是局部刷新了; 在請求發出后,瀏覽器不用等待服務器響應結果就可以進行其他操作;4 AJAX的優缺點
優點:
AJAX使用Javascript技術向服務器發送異步請求; AJAX無須刷新整個頁面; 因為服務器響應內容不再是整個頁面,而是頁面中的局部,所以AJAX性能高;缺點:
AJAX并不適合所有場景,很多時候還是要使用同步交互; AJAX雖然提高了用戶體驗,但無形中向服務器發送的請求次數增多了,導致服務器壓力增大; 因為AJAX是在瀏覽器中使用Javascript技術完成的,所以還需要處理瀏覽器兼容性問題;Ajax的基本工作原理及流程:
在一般的 Web 應用程序中,用戶填寫表單字段并單擊 Submit 按鈕。然后整個表單發送到服務器,服務器將它轉發給處理表單的腳本(通常是 PHP 或 Java,也可能是 CGI 進程或者類似的東西),腳本執行完成后再發送回全新的頁面。該頁面可能是帶有已經填充某些數據的新表單的 HTML,也可能是確認頁面,或者是具有根據原來表單中輸入數據選擇的某些選項的頁面。當然,在服務器上的腳本或程序處理和返回新表單時用戶必須等待。屏幕變成一片空白,等到服務器返回數據后再重新繪制。這就是交互性差的原因,用戶得不到立即反饋,因此感覺不同于桌面應用程序。
新聞熱點
疑難解答
圖片精選