Django视图在Ajax重定向后未呈现

Django视图在Ajax重定向后未呈现,第1张

Django视图在Ajax重定向后未呈现

您不能在您的情况下使用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;    }    });


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5586268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存