使用 Ajax 方法将变量传递给 python

Posted

技术标签:

【中文标题】使用 Ajax 方法将变量传递给 python【英文标题】:Passing a variable to python using Ajax method 【发布时间】:2022-01-07 04:29:36 【问题描述】:

我想在我的 Django 项目中使用 Ajax 从 JS 函数将变量传递给 python 函数。 我可以调用python函数。使用ajax方法,我知道这是因为python函数中的print函数运行。 但是如何通过这个 ajax 调用传递我的变量?我只想传递局部变量,以便它可以由 python 函数打印。

JS

function calling ()
    var local = 25
    
    $.ajax(
        type:'GET',
        url:'printsome/',
        success: function(response)
            console.log('success');
            console.log(local);
        ,
        error: function (response)
            console.log('error');
        
    );


蟒蛇

def print_some(request):
    from django.http import JsonResponse
    print('this python function was called')
    return JsonResponse()

【问题讨论】:

这个问题和 Java 有什么关系? 【参考方案1】:

例如,您可以将变量作为查询参数传递:

function calling ()
    var local = 25
    
    $.ajax(
        type:'GET',
        url:`printsome/?variable=$local`, // <- Add the queryparameter here
        success: function(response)
            console.log('success');
            console.log(local);
        ,
        error: function (response)
            console.log('error');
        
    );

在 django 中,您可以访问查询参数,如下所示:

from django.http import JsonResponse
def print_some(request, ):
    variable = request.GET.get('variable', 'default')
    print('Variable:', variable)
    return JsonResponse()

在此处了解更多信息:HttpRequest.GET

【讨论】:

不幸的是,这个deosnt似乎有效。由于某种原因,打印的结果是“变量:本地”而不是本地值。 我编辑了我的答案。请参阅 ajax 调用中的url:`printsome/?variable=$local` 参数。 谢谢你的工作

以上是关于使用 Ajax 方法将变量传递给 python的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 AJAX 将 JS 变量传递给 PHP

如何使用 Javascript 和 Ajax 将 HTML 单选按钮值传递给 PHP 变量?

关于ajax请求数据,并将数据赋值给全局变量的一些解决方法

将 AJAX 变量传递给 PHP

将变量传递给 $.ajax().done()

如何使用 POST 方法将 javascript/jQuery 变量传递给 PHP [重复]