Передача массива на бэкэнд с помощью Ajax (Django)

Я изучаю AJAX, и у меня возникли проблемы с передачей массива в бэкенд. Я могу передать простую переменную, и мой код работает отлично, но когда я передаю массив, я не могу успешно передать данные.

Мой код ниже (он работает):

    function add_var() {
    var aa = 5;

    $.ajax({
        url : "add_variable/",
        type : "POST", 

        data : { num1 : aa},
        
        success : function(json) {
            $('#num3').val(json); 
        },

        error : function() {
            console.log("fail");
        }
    });
    };

Это работает просто отлично, и я могу передать 5 в бэкенд. Однако когда я меняю aa на массив, функция больше не работает и возвращает 'None' на бэкенд Views.

    function add_var() {
    var aa = [5,10,15];

    $.ajax({
        url : "add_variable/",
        type : "POST",

        data : { num1 : aa},
        
        success : function(json) {
            $('#num3').val(json); 
        },

        error : function() {
            console.log("fail");
        }
    });
    };

Может ли кто-нибудь указать мне правильное направление? Любая помощь будет принята с благодарностью!

Вы можете сделать это таким образом для любой строки или числа, но как только вам нужно передать обратно объект (например, массив), вам нужно "строчить"

data : {num1 : JSON.stringify(aa)}

Затем необходимо "Разобрать" или "Десериализовать" строку, которая преобразует ее обратно в объект.

Я полагаю, что в django это выглядело бы примерно так:

import json
nums = json.loads(num1)
Вернуться на верх