嗨,我创建了自动完成 seacrh
Javascript
jQuery(function() {
$("#id_input").on('keyup', function(){
var value = $(this).val();
$.ajax({
url: "{% url 'ajax_autocomplete' %}",
data: {
'search': value
},
dataType: 'json',
success: function (data) {
list = data.list;
$("#id_input").autocomplete({
source: list,
minLength: 3
});
}
});
});
});
看法:
def autocomplete_search(request):
if request.is_ajax():
game = None
try:
game = Game.objects.get(name=request.GET.get('search', None))
except:
pass
if game is not None:
result = redirect('games')
else:
queryset = Game.objects.filter(name__startswith=request.GET.get('search', None))
list = []
for i in queryset:
list.append(i.name)
data = {
'list': list,
}
result = JsonResponse(data)
return result
game is not None
但是当它只是将页面响应到 ajax 请求时,它并没有重定向。但是我想在game != None
加载我需要的页面时停止请求。怎么了?