AJAX的使用率正在快速增長,這也是它會包含許多問題的原因。我們希望隨著時間的推移,這些問題將得到解決,AJAX將成為Web應(yīng)用程序的理想選擇。
在本節(jié)我們列出了AJAX目前遇到的一些問題。
1.復(fù)雜性增加了
• 服務(wù)器端開發(fā)人員需要了解HTML客戶端頁面以及服務(wù)器端邏輯中將需要表示邏輯。
• 頁面開發(fā)人員必須具備JavaScript技能。
2.基于AJAX的應(yīng)用程序可能難以調(diào)試,測試和維護(hù)
• JavaScript很難測試 - 自動測試很難。
• JavaScript中的模塊化程度較弱。
• 尚缺乏設(shè)計模式或最佳實踐指南。
3.工具包/框架尚未成熟
• 他們中的大多數(shù)都處于測試階段。
4.尚未標(biāo)準(zhǔn)化XMLHttpRequest
•IE的未來版本將解決這個問題。
5.舊瀏覽器中不支持XMLHttpRequest
• iframe會有所幫助。
6.JavaScript技術(shù)依賴性和不兼容性
• 必須啟用應(yīng)用程序才能運行。
• 仍然存在一些瀏覽器不兼容性。
7.JavaScript代碼對黑客可見
設(shè)計糟糕的JavaScript代碼可能會引發(fā)安全問題。
• 基于AJAX的Web應(yīng)用程序使用與常規(guī)Web應(yīng)用程序相同的服務(wù)器端安全方案。
• 您可以在web.xml文件或程序中指定身份驗證,授權(quán)和數(shù)據(jù)保護(hù)要求。
• 基于AJAX的Web應(yīng)用程序受到與常規(guī)Web應(yīng)用程序相同的安全威脅。
• JavaScript代碼對用戶/黑客可見。黑客可以使用JavaScript代碼來推斷服務(wù)器端的弱點。
• JavaScript代碼從服務(wù)器下載并在客戶端執(zhí)行(“eval”),并可能通過惡意代碼破壞客戶端。
•下載的JavaScript代碼受到沙盒安全模型的約束,可以放寬簽名的JavaScript。