2012-03-17 150 views
-1

我在閱讀關於IBM's website上的AJAX。下面是它說,Ajax的危險

如果應用程序無法溝通,這可能會讓用戶不確定 關於什麼是實際發生的情況。如果他們點擊表單提交按鈕 而沒有任何反應,他們可能會認爲該網站已損壞。如果 應用程序未能通知發生了錯誤,則用戶 通常認爲其操作成功。這種假設可能導致 極端沮喪,如果現實情況是,動作沒有成功 ,特別是如果用戶剛剛花了很長的時間上 工作表單的內容。如果應用程序通知用戶當有 錯誤或超時,至少用戶有機會複製 並粘貼數據,並保存到本地,這樣就避免了最壞的可能 的用戶體驗之一。

現在也可以同時使用JavaScript或HTML發生此問題。爲什麼作者將AJAX引用爲Ajax can ruin your site

+0

我沒有在該web上的任何位置找到「危險」或「危險」頁。 – 2012-03-17 14:31:25

+0

它說:「Ajax可以破壞你的網站..」 – 2012-03-17 14:32:24

+1

你引用的段落充分說明。如果你做錯了,HTML也會毀掉你的網站。 – 2012-03-17 14:33:10

回答

1

這很危險,因爲使用AJAX處理表單提交時,您正在改變通常的用戶體驗。當用戶點擊提交按鈕時,您負責通知他們實際發生的事情(例如,放置一個加載gif)

如果請求失敗,它也是您的責任,告知用戶它失敗了,並可能提供解決方案和信息。如果你不這樣做,用戶將無能,發生了什麼事,他們不會知道,如果他們的表單提交真的做了,如果他們發送的信息已保存...等

AJAX是「危險」因爲它完全依賴開發人員正常工作。

如果網絡連接丟失例如,AJAX請求將失敗,很多開發商忘記用計時器來檢查這種事情,因此用戶將被單獨留在家中不知道究竟發生了什麼。如果請求確實將其發送到服務器,但答案沒有返回,則操作可能已完成(例如,註冊新用戶),但用戶不知道。

1

因爲您可以更確定您的本地JavaScript代碼將按預期執行。但是,由於Ajax可能會受到網絡擁塞和其他外部問題的影響,因此您無法確定。除非採取適當的預防措施(例如檢查超時),否則可能根本不會調用某些功能,使用戶感到困惑。

1

靜態的JavaScript代碼應該有每次它執行相同的結果(這真的取決於代碼,但我們談論的一般/ JavaScript的簡單)。另一方面,AJAX總是受到影響其執行的外部因素(互聯網連接問題/超時/服務器負載等)的影響。 我看到很多AJAX腳本沒有處理超時或連接/讀取嘗試失敗,導致掛起的「加載欄」(如果有的話)