2011-08-01 68 views
0

我正在使用JQuery ajax調用,它完全在本地服務器上運行。但是當我將它部署在實際服務器上時。每次調用Ajax調用都需要大約1秒鐘的時間[在某些情況下,沒有數據返回]。我正在從Ajax調用中填充5個下拉列表,並且這非常耗時5秒。請任何人都可以引導我走向實際解決方案。先謝謝了。JQuery Ajax調用需要花費很多時間

這裏是我的代碼

function DropDownList() { 
    $.ajax({ 
     data: '{}', 
     url: urlAddress + 'LoadDropDown', 
     contentType: "application/json; charset=utf-8", 
     async: false, 
     dataType: "json", 
     type: "POST" 
     success: OnSuccess,   
     error: OnError 
    }); 
    } 
+0

如果在單獨的窗口中加載ajax頁面是否需要更長時間加載?我會用螢火蟲之類的東西來找出答案。如果是這樣的話,調用數據庫的ajax頁面 - 和localhost使用的是同一個頁面嗎?我懷疑這個問題不在您使用的jQuery代碼中,而是在正在加載的ajax內容中。 – KevD

+0

我檢查了來自Fiddler的Ajax調用的統計信息。它顯示了Request大部分時間都在使用,響應僅需要10毫秒。我如何優化請求。請求只需要請求頭和兩個參數。 – ITMount

回答

1

慢下來可能由於多種原因。可能是服務器超負荷或者您的互聯網帶寬較慢。由於本地機器上的響應速度很快,因此減速顯然不是因爲jQuery。 檢查螢火蟲的淨選項卡中的響應時間。還要檢查從服務器返回的數據。可能是因爲返回的數據可能需要花費太多時間來處理您的成功方法。

+0

感謝您的回覆。我查看了我的請求統計信息。它顯示請求1秒和響應1ms。 – ITMount

+0

如何優化AJax的請求時間。這是一個服務器端代碼問題或服務器本身 – ITMount

+2

@ITMount:我不認爲會有需要優化Ajax調用是你的身邊,因爲jQuery創作者已經做到了。檢查成功時調用的方法。優化。該方法可能會導致問題。如果服務器以1ms響應(1ms?!你確定嗎?),那麼問題必須是成功方法。檢查應用程序中其他位置的其他數據加載。如果加載速度很快,那麼成功功能必須進行優化。 –

-2
please avoid using remote jquery server like 
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 

instead u can download from source and use it like 
<script src="JS/jquery-1.10.1.min.js"></script> 

so only ajax and jquery functions and events will perform faster. 
+0

雖然這可能對初始頁面加載時間有幫助,因爲腳本在第一次訪問時被加載到瀏覽器緩存中,並在那裏用於將來的請求,但這對完成原始問題所要求的AJAX調用無濟於事。 –

相關問題