我正在将此数据发送到 Django,这些文本来自多个 CKEditors
chk_vals = ["Some text","Other text"];
const data = new URLSearchParams();
data.append("csrfmiddlewaretoken", "{{csrf_token}}");
data.append("tmplData", JSON.stringify(chk_vals));
fetch(uri, {
method: 'post',
body: data,
})
.then(response => response.json())
.then(data => {
来自Chrome的网络: tmplData: ["一些文本","其他文本"]
现在姜戈:
data = request.POST
templateArr = data.getlist('tmplData')
templateList = list(templateArr)
templateList 的长度为 1,它将它作为一个字符串获取,我不能用 ',' 来分割它,因为这些文本也可以包含 ','。
我也尝试过 templateArr = data.getlist('tmplData[]')
并且在没有 JSON.stringify 的情况下发送,但没有任何效果
data = request.POST
templateArr = data.getlist('tmplData[]')
templateList = list(templateArr)
并且这个变量 templateArr 是空的
尝试从前端将值作为单独的字段发送,如下所示:
chk_vals = ["Some text", "Other text"];
const data = new URLSearchParams();
data.append("csrfmiddlewaretoken", "{{csrf_token}}");
chk_vals.forEach(value => data.append("tmplData", value));
fetch(uri, {
method: 'POST',
body: data,
})
.then(response => response.json())
.then(data => console.log(data));
然后尝试通过 Django 后端访问它,如下所示:
templateArr = request.POST.getlist('tmplData') # templateArr = ["Some text", "Other text"]