2010-02-13 53 views
5

我正在開發一個ajax項目,但我很困惑的東西是更好還是分組我的ajax請求或單獨發送每個請求?

我有3個函數發送數據到服務器每個函數都有一定的工作。

將ajax請求從每個函數發送出去並將其發送到一個大請求中更好一些。這將減少我的請求數&時間。或分別發送每個請求,這將減少服務器端的代碼的執行時間,但會提出很多請求。 P:對於我的應用程序,它在兩種情況下都有效。

回答

1

如果你可以整合成一個請求,整齊地說,我建議你這樣做。瀏覽器會限制您可以同時創建多少個請求(可以低至2),而許多服務器也是如此。

當然,一如既往,也有例外。如果您每隔10秒需要查詢一些數據以及需要每10分鐘查詢一次的其他數據,那麼實際上沒有必要每隔10秒查詢10分鐘數據和10秒數據。

也許是帶有控制回送內容的選項的單個請求。根據您與請求本身一起傳遞的選項,您可以從同一請求中請求大量數據或少量數據。

只是理論。

+0

我真的喜歡這個解決方案,但是我發現了許多着名的ajax項目,它們分別處理每個請求,但是可以一起處理所有請求 – trrrrrrm

+0

個別請求不一定是不好的。我只想指出,當你走這條路時你還有其他擔憂。不知道你的項目的細節,我不能提供更多的東西。好運! – Sampson

+0

感謝或您的幫助,我在這種情況下,我有一個功能,需要10秒發送請求,另一個將發送像每1分鐘,但我想超時10秒功能,但如果有1分鐘功能發送的請求,它也需要10秒的數據,並重置其計時器,你認爲如何。感謝您的幫助 – trrrrrrm

1

這裏涉及幾個因素。

  • 把它們放在客戶端上有客戶端做更多工作的好處,這很好。
  • 除最新的瀏覽器外,其他所有瀏覽器一次只允許2個請求訪問同一個域。如果你有很多延遲,這將導致想要將請求分組在一起,如果他們要去同一個域。但是,較新的瀏覽器一次允許8個請求,所以這個問題會逐漸消失。

但在另一方面

  • 不要請求需要都可以在同一時間做?保持請求分開將允許您保持靈活性。
  • 可能最重要的是:保持請求分離可能會導致更易於維護,直接的代碼。

我會建議做任何事情,保持瀏覽器上的代碼直截了當。 Javascript(或者爲你做Ajax的框架)很難維護和協調。把事情簡單化!