【问题标题】:Send an array with ajax to my python function in django将带有 ajax 的数组发送到我在 django 中的 python 函数
【发布时间】:2019-12-03 13:08:15
【问题描述】:

我正在尝试向views.py 内的python 函数发送一个数组,但我不能。它总是以keyError 崩溃,因为无法识别来自js 的数据。

代码:

views.py 中的 Python 函数:

def cargar_datos_csv(request):
    if request.method == 'POST':
        filtros = request.POST['node']
    print(filtros)
    ctx = {'A':filtros}
    return JsonResponse(ctx)

JS

var csrftoken = $("[name=csrfmiddlewaretoken]").val();
var frutas = ['Manzana', 'Banana'];
$.ajax({
    url: '/../../data_bbdd/',
    type: 'POST',
    headers:{"X-CSRFToken": csrftoken},
    data: {
        'node': frutas,
    },
    dataType: "json",
    cache: true,
    success: function(response) {
        coords = JSON.stringify(response.A);
        alert(coords);
    }
});

如何将数组发送到我的 python 函数?

非常感谢。

【问题讨论】:

  • 您是否遇到任何错误?检查网络,您要发送什么数据?
  • 也发布错误

标签: javascript python jquery django ajax


【解决方案1】:

因为node 是一个列表,它将被JQuery 发布为node[],因此您可以使用request.POST['node[]']request.POST.getlist('node[]') 获取它

关于为什么这是 JQuery 在这个 stackoverflow 的回答中的行为的更多信息:django - getlist()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多