我在我的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