ajax是什么?
- Ajax的原理簡單來說是在用戶和服務器之間加了—個中間層(AJAX引擎),通過XmlHttpRequest對象來向服務器發(fā)異步請求,從服務器獲得數(shù)據(jù),然后用javascript來操作DOM而更新頁面。使用戶操作與服務器響應異步化。這其中最關鍵的一步就是從服務器獲得請求數(shù)據(jù)
- Ajax的過程只涉及JavaScript、XMLHttpRequest和DOM。XMLHttpRequest是ajax的核心機制
ajax過程
/** 1. 創(chuàng)建連接 **/
var xhr = null;
xhr = new XMLHttpRequest()
/** 2. 連接服務器 **/
xhr.open('get', url, true)
/** 3. 發(fā)送請求 **/
xhr.send(null);
/** 4. 接受請求 **/
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
success(xhr.responseText);
} else {
/** false **/
fail && fail(xhr.status);
}
}
}
ajax 有那些優(yōu)缺點?
優(yōu)點:
- 通過異步模式,提升了用戶體驗.
- 優(yōu)化了瀏覽器和服務器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用.
- Ajax在客戶端運行,承擔了一部分本來由服務器承擔的工作,減少了大用戶量下的服務器負載。
- Ajax可以實現(xiàn)動態(tài)不刷新(局部刷新)
缺點:
- 安全問題 AJAX暴露了與服務器交互的細節(jié)。
- 對搜索引擎的支持比較弱。
- 不容易調試。