在Django中使用AJAX传递数组

wz1wpwve  于 2022-12-01  发布在  Go
关注(0)|答案(2)|浏览(132)

我有一个名为metrics的数组,我试图用AJAX将其传递到后端,但我只得到数组7,8,9的最后一个值。我想获得整个数组。有什么想法吗?任何帮助都将不胜感激。

html格式

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

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

查看次数.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)
nbysray5

nbysray51#

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

92vpleto

92vpleto2#

解决方案是在调用请求时在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)

相关问题