Flask 获取一个多维数组作为数组发布到它
Flask get a multi-dimensional array posted to it as an array
注意:使用 Flask 和 Reactjs
我目前正在努力解决一个错误,我正在从我的前端向我的后端发布一个 3 维数组,我正在尝试使用 request.form.get('array', type=list),但它最终被接收为一维数组。
前端:
let data = new FormData();
this.array = [[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]
data.append("array", this.array);
return axios
.post(this.url+`/post_arr`, data, {
headers: {
"Content-Type": "multipart/form-data",
},
})
.then((res) => {console.log('hi')
})
}) }
后端:
@app.route('/post_arr',methods=['POST'])
def test():
print(request.form.get('array',type=list))
>['1','4','2','4','3','1','2','4','7','4','1','1']
它不是将数组作为 3 维数组检索,而是作为扁平的 1 维数组检索,这并不理想。有办法解决吗?
当您将多维数组附加到 javascript formData
对象时,它会自动转换为扁平字符串。
你在javascript中需要的是:
let data = new FormData();
this.array = [[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]];
data.append("array", JSON.stringify(array));
然后在烧瓶中:
getlist
方法就是您要找的。
尝试以下操作:
array = request.form.getlist('array')
如果它 return 在这样的字符串中 ['[[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]']
,只需使用第一个索引获取列表:array[0]
应该return
[[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]
注意:使用 Flask 和 Reactjs
我目前正在努力解决一个错误,我正在从我的前端向我的后端发布一个 3 维数组,我正在尝试使用 request.form.get('array', type=list),但它最终被接收为一维数组。
前端:
let data = new FormData();
this.array = [[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]
data.append("array", this.array);
return axios
.post(this.url+`/post_arr`, data, {
headers: {
"Content-Type": "multipart/form-data",
},
})
.then((res) => {console.log('hi')
})
}) }
后端:
@app.route('/post_arr',methods=['POST'])
def test():
print(request.form.get('array',type=list))
>['1','4','2','4','3','1','2','4','7','4','1','1']
它不是将数组作为 3 维数组检索,而是作为扁平的 1 维数组检索,这并不理想。有办法解决吗?
当您将多维数组附加到 javascript formData
对象时,它会自动转换为扁平字符串。
你在javascript中需要的是:
let data = new FormData();
this.array = [[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]];
data.append("array", JSON.stringify(array));
然后在烧瓶中:
getlist
方法就是您要找的。
尝试以下操作:
array = request.form.getlist('array')
如果它 return 在这样的字符串中 ['[[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]']
,只需使用第一个索引获取列表:array[0]
应该return
[[[1,4],[2,4]],[[3,1],[2,4]],[[7,4],[1,1]]]