You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django项目中如何通过Ajax将JS变量传递给Python后端函数

解决方案

1. 调整前端AJAX代码,添加传递参数的配置

GET请求的自定义参数通过AJAX配置项的data字段传递,jQuery会自动将其处理为查询参数拼接在请求URL后发送到后端:

function calling (){
    var local = 25
    
    $.ajax({
        type:'GET',
        url:'printsome/',
        // 新增data字段,键名可自定义,后端对应取值即可
        data: {
            local_val: local
        },
        success: function(response){
            console.log('success');
            console.log(local);
        },
        error: function (response){
            console.log('error');
        }
    });

}

2. 调整后端Django视图,接收并打印参数

Django中GET请求的参数统一通过request.GET对象获取,对应前端定义的键名取值即可:

def print_some(request):
    from django.http import JsonResponse
    print('this python function was called')
    // 第二个参数为取不到参数时的默认值,避免空值报错
    local_val = request.GET.get('local_val', 0)
    // 打印前端传递的变量
    print(f"接收到的前端局部变量值:{local_val}")
    return JsonResponse({})

补充说明

如果后续需要改用POST请求传递参数,需要额外适配两点:

  • 前端AJAX配置中type改为'POST',同时携带CSRF校验参数:如果JS代码写在Django模板内,可以直接在data字段添加csrfmiddlewaretoken: '{{ csrf_token }}'
  • 后端取值逻辑改为request.POST.get('local_val', 0)

内容的提问来源于stack exchange,提问作者kitchen800

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:15:03