2009-11-19 170 views
0

我有一個頁面使用AJAX請求(使用Prototype的Ajax.Request())來驗證一些東西。我們保留所有請求的非常詳細的日誌。偶爾客戶會抱怨他們正在進入某種東西,而且沒有被驗證。在這種情況下,我會檢查日誌,搜索他們的IP地址,他們的電子郵件的時間以及他們試圖驗證的信息的描述。不支持Ajax?

有時候我發現自己不是在日誌中,這將意味着AJAX請求不被執行。最近的這種情況下的

一個實例具有的

的Mozilla/4.0用戶的字符串(兼容; MSIE 8.0; Windows NT的5.1;三叉戟/ 4.0; GTB6; InfoPath.1)

根據他們發送的電子郵件。

我在日誌中找不到它們。有沒有任何理由懷疑有人使用IE8將無法執行AJAX?

有,我可以改變我的環境不支持AJAX,以及測試一些替代任何可行的方式。

注意這個最新的用戶表示,他們已經嘗試了很多次多天,所以它不喜歡,這是對他們或連接不良一次性的東西,不一定。

這是一個經常發生的問題,我無法重新創建。任何幫助,將不勝感激。謝謝。

+1

注意:假設這些用戶已打開javascript,因爲如果沒有它,它們將無法正確使用此特定頁面。 – chaimp 2009-11-19 15:19:05

+0

您是否使用onSuccess和onFailure回調?我從來沒有使用Prototype,但我認爲它提供了一系列的成功和失敗的回調函數,等等。通過實施這些(通過顯示一個小而不顯眼的消息),你可以問你的客戶他們收到哪些可能的錯誤信息。 – Duroth 2009-11-19 15:27:40

+0

我沒有使用onFailure()。我可以通過給用戶留言的方式嘗試,因此當他們與我們聯繫時,他們可以提供更好的反饋。但是,如果Ajax處於「禁用」狀態,我不確定這是否會執行任何操作。麻煩的是,我不確定它會涉及到什麼,以禁用Ajax來測試這種情況。 – chaimp 2009-11-19 15:53:50

回答

1

有兩件事情,立即映入腦海:

  1. 他們可能禁用了JavaScript
  2. 它可能會超時。

我知道我什麼時候遇到了一個糟糕的連接我已經看到Ajax的東西失敗了,我關閉了該網站,並且我打賭它會在類似於您所看到的日誌中顯示。

+0

在這個特定頁面的情況下(我在上面可能已經回答了上面的評論),他們需要用JavaScript來做他們正在做的事情。至於請求超時,它不可能一直髮生在單個用戶身上(即,電腦),否則它可以毫無困難地訪問互聯網。 – chaimp 2009-11-19 15:48:22

+0

那麼,你會感到驚訝,仍然有很多撥號人在那裏,阿賈克斯可怕地與它工作。此外,超時發生的頻率非常高,大約25%的時間我試圖檢查雅虎天氣對我來說超時,而我正在使用20mb FIOS連接。 你用這個請求拉了很多數據嗎?同樣,Duroth建議你可以實現onSuccess和onFailure類型的回調,至少可以嘗試縮小問題的範圍。 – 2009-11-19 15:53:09

0

用戶是否有一些奇怪的工具欄運行?或者可能有其他擴展可能會干擾您的XMLHttpRequest對象,或者它的微軟變體?

+0

我發佈了上面的用戶字符串,希望有人能告訴我。它看起來很標準。 IE8,Trident,GTB(Google工具欄?),InfoPath。這些都不會影響我所知道的HTTP請求。 – chaimp 2009-11-19 15:52:26