您不能在您的情况下使用Django重定向。当您发送ajax请求时,通常会收到json响应,然后您就可以通过Javascript代码重定向用户了。
$.ajax({ // You send your request here}).done(function(data) { // You can handle your redirection here});
这是通过设置处理重定向的方法,将来自django的JsonResponse传递回您想转到的下一页:
from django.http import JsonResponsedef ajax_filter(request): if request.is_ajax(): gender_filter = request.GET.get('gender_filter') #filter type if gender_filter is not None: return JsonResponse({ 'success': True, 'url': reverse('filtered_index', args=[gender_filter]), }) return JsonResponse({ 'success': False })
在JS中,您可以使用done(或成功)函数从传递回来的URL中获取URL,
JsonResponse然后使用
window.location.href以下命令将其重定向到该URL
:
$.ajax({ // You send your request here}).done(function (data) { if (data.success) { window.location.href = data.url; } });
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)