在 Django 中使用 AJAX 传递数组

Pass Array using AJAX in Django

我有一个名为 metrics 的数组,我试图用 AJAX 将它传递给后端,但我只得到数组 7,8,9 的最后一个值。我想拿起整个阵列。知道怎么做吗?感谢任何帮助。

html

 var metrics = [
  [1,2,3],
  [4,5,6],
  [7,8,9], 
];

 $.ajax({
        type : 'GET' , 
        url : "...",
        data : {"metrics[]": metrics },
    })

views.py

def Sensor_Metrics(request):
    if request.is_ajax and request.method == "GET" : 
        metrics = request.GET.get("metrics[]")
        print(metrics)
    return JsonResponse({"error": ""}, status=400)

解决方法是在调用请求的时候在views.py中加上括号

在脚本中

 var metrics = [
  [1,2,3],
  [4,5,6],
  [7,8,9], 
];

 $.ajax({
        type : 'GET' , 
        url : "...",
        data : {"metrics": metrics},
    })

在views.py

def Sensor_Metrics(request):
    if request.is_ajax and request.method == "GET" : 
        metrics = request.GET.get("metrics[]") #Important
        print(metrics)
    return JsonResponse({"error": ""}, status=400)

不客气

在视图中,您需要使用 request.GET.getlist 才能从请求中获取完整列表。 您需要使用 -: metrics = request.GET.getlist("metrics[]")。您可以参考文档 here.