今天在研究web大作業—購物網站的一個購物車結算功能,約摸想了一下午,感覺發現了Ajax的一些大 咪咪 秘密。
從頭說起。
我們知道,客戶端與服務器之間存在請求與響應關系。而在傳統的網頁交互模式中,"請求"是通過提交form表單(就是按button)實現的,在此模式下,網頁想要接收服務器響應的數據,必須要強制對網頁實施整個頁面的刷新。
然而
提交form表單的請求方式,其害有三
1.用戶體驗不佳,用戶一般不會喜歡網頁時不時就抽搐似地整個刷新一下。加上客戶端提交的是整個頁面的數據,且刷新本身就需要時間,會帶給用戶大量的等待時間。
2.增加服務器運行壓力:整個頁面刷新的背后,是服務器需要把整個重構后的html文檔返回給客戶端,耗時耗力。在只有一點點數據改動的情況下,這種做法的額外成本極高。
3.請求1—>響應1—>請求2—>響應2的同步請求模式規定了請求與響應只能被順序執行。
Ajax技術應運而生,它的優勢在于
1.客戶端無需以刷新整個頁面的方式接收數據。
2.客戶端按需向服務器發送請求,服務器返回的響應也只是客戶端所需的數據。請求-響應通道的數據傳輸量大大減小。
3.ajax技術在客戶端設置了scuccess函數,用于對服務器傳來的原始數據進行進一步的處理,減少了服務器的工作量。
4.ajax技術提供了ajax引擎,隔離了客戶端與服務器。客戶端與服務器間的請求/響應都要經過ajax引擎的存儲,加工。請求與響應異步。
圖片發自簡書App