2011-02-01 83 views
5

因爲我並不是網絡開發的新手,所以我覺得這些基本問題很尷尬。但我想仔細檢查我的假設......AJAX呼叫是否阻止,它們的壽命是多少?

我在我的應用程序中構建獨特圖像視圖的記錄。當一個用戶(而不是一個機器人)訪問一個圖像頁面時,Ajax會調用一個收集會話信息的後端進程,比較是否存在重複並存儲該訪問。我有我所有的JavaScript引用,以及在HTML的底部,這個調用,只是</body>元素之前:

$.get(basepath + "image/1329/record/human", function(data){ 
console.log("Data Loaded: " + data); 
}); 

默認情況下,調用$。獲得由異步的。然而,我想測試以下假設:

  • 這種方法確保對視圖記錄腳本的調用對於其餘UI是否爲非阻塞是否正確?
  • 無論用戶是否導航到其他頁面,後端腳本一旦完成調用就完成了是否正確?

回答

5

根據jQuery .get reference ...

[$獲得()] 是簡寫的Ajax功能,這是equi價格爲

$.ajax({ url: url, data: data, 
     success: success, dataType: dataType 
}); 

而$ .ajax是異步的(即,非阻塞),這就是Ajax中的A意味着什麼。

此外,後端服務器代碼是在服務器接收到請求的時候啓動的,然後獨立於停留在頁面上的客戶端運行,除非您實施某種機制來停止正在運行的服務,我認爲你沒有。

上帝保佑!

+1

感謝您的確認,這讓我感到高興,因爲它完全隔離了從用戶錄製視圖的任何可能的性能損失。 – Ferdy 2011-02-01 19:57:38

4

jQuery.get請求你讓是異步的,不會持續阻止DOM或其​​他JavaScript。 get函數是一個使用jQuery.ajax的簡寫方法。

第二個問題我沒有確切的答案 - 我期望它可能更多地取決於後端代碼的結構以及是否告知會話/請求已終止。

API: