我對開發基於Ajax的應用程序非常感興趣。這是通過XMLHttpRequest加載幾乎所有的應用程序內容,而不是僅僅一些組合和小部件。但是,如果我嘗試從頭開始創建,很快我會發現一些問題,但沒有簡單的解決方案。我想知道是否有一些框架(客戶端和服務器端)來處理這個問題。據我所知,沒有(但我主要在Java世界搜索)。所以我正在認真考慮做我自己的框架,至少對我的項目來說。基於Ajax的應用程序中的問題
因此,在這個問題中我要求幾件事。首先,基於ajax開發的可能的問題。然後,我正在尋找一些框架或實用程序來處理它們。最後,如果沒有可用的框架,它必須具備哪些功能。
下面是我認爲的問題:
1 - 必須啓用JavaScript。安全偏執狂並不是唯一的問題:許多移動設備也無法使用該應用程序。
2 - 有時您需要更新多個DIV(例如主要內容,菜單和麪包屑)。
3 - 未知的響應類型:當您進行Ajax調用時,您也設置了回調函數,通常指定預期響應是否爲JavaScript對象或DIV將結果放入哪個位置。但是,當您獲得另一種類型的響應時會失敗:例如會話已過期並且用戶必須重新登錄。
4 - 瀏覽器刷新,後退和前進按鈕可能是一個真正的痛苦。用戶會根據情況預計不同的行爲。
5 - 當搜索引擎索引一個網站時,只能跟隨鏈接。因此,Ajax的內容加載將不會「存在」,因爲誰還不知道它。
6 - 用戶可以要求在不同的窗口/選項卡中打開鏈接。
7 - 地址欄不顯示您所在的「真實」頁面。因此,您不能複製位置並將其發送給朋友或書籤頁面。
8 - 如果您想通過網站獲利,您可以放置一些廣告。由於您不刷新整個頁面,並且您想在一段時間後更改廣告,因此您只需刷新廣告所在的DIV。但這可能違反了您的廣告服務的條款和條件。實際上,它可能會違反AdSense TOS。
9 - 刷新整個頁面時,所有JavaScript都會被「清除」。但在Ajax調用中,所有JavaScript對象都將保留。
10 - 你不能輕易改變你的CSS屬性。