数组传递给后端使用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'。

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");
}
});
};
谁能给我指一下正确的方向吗?任何帮助都是感激的!

对于任何字符串或数字都可以这样做,但是一旦需要传递一个对象(例如数组),就需要使用"stringify">

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

然后,您必须"解析";或";Deserialize"将其转换回对象的字符串。

我相信在django中,它应该是这样的:

import json
nums = json.loads(num1)

最新更新