我在我的Django模板下面的Ajax請求:Ajax的請求在Django
$('#subjects').on('change', function() {
var subject = $('#subjects').find(":selected").text();
$.ajax({
type: "GET",
url: "/classes/" + term + "/" + subject , // or just url: "/my-url/path/"
dataType: "html",
success: function(data) {
$('#classes').html(data);
}
});
//remove courses
//remove overview
//get courses for specified subject
//put them under course
});
的 「主題」 id是一個選擇的形式是這樣的:
<select size="7" class="form-control" id="subjects">
{% for subject in subjects %}
<option>{{ subject }}</option>
{% endfor %}
</select>
所以,當主題發生了變化,我向服務器發送ajax請求,以便從數據庫中獲取該主題的類(因爲有數千個類)。但是,這需要1秒。如果用戶只是簡單地列出了我的主題列表,那麼幾秒鐘內會發出幾十個Ajax請求,導致備份並放慢正常顯示的數據速度。
我試着在發送另一個請求之前中止所有以前的ajax請求,但問題是服務器仍然會處理這些請求,所以它沒有解決問題。
有什麼辦法可以加快速度,不知何故,只要用戶滾動到某個主題,只需要1秒鐘?或者,有沒有人會推薦另一種方法?
跟進問題。我剛想到的另一種方法是僅在選擇選項超過1秒時才發送ajax請求。這會使它花費2秒鐘,這很好。有沒有辦法做到這一點?
作品不錯。謝謝! – rishubk