I have an array called metrics and im trying to pass it to backend with AJAX but Im only getting the last values of the array 7,8,9
. I want to pick up the whole array .Any idea how? Any help is appreciated.
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)
CodePudding user response:
In the views, you need to use request.GET.getlist
in order to get the complete list from the request.
You need to use -: metrics = request.GET.getlist("metrics[]")
. You can refer the docs here.
CodePudding user response:
The solution is adding the brackets in views.py
while calling the request.
in script
var metrics = [
[1,2,3],
[4,5,6],
[7,8,9],
];
$.ajax({
type : 'GET' ,
url : "...",
data : {"metrics": metrics},
})
in 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)
You are welcome