1。 我必须发送请求。发布dict的字典,
printf("n=%d\n", totalch);
和ajax总是以某种方式使其成为一个字典
big_dict = {k:{kk:vv, kk1: vv1}, k1:{kk:vv, kk1: vv1}}
有人告诉我
one_dict = {k[kk]:vv, k[kk1]:vv1, k1[kk]:vv, k1[kk1]:vv1}
在ajax请求之前,然后json.json加载到我的python django视图中。
JSON.stringify(big_dict)
一切正常,直到有人上传了一个名为文件的汉字。
在我看来,json.loads(request.POST.get('data'))
的第三步
(错误) 我的big_dict的键和值仍然很好,看起来不错,并显示适当的汉字。
(已编辑) 在我的big_dict的键和值中,一个值中的汉字看起来不错,而另一个值中则不然。
json.loads
但是当我尝试
{'0': {'designer': 'EV', 'number': '0229', 'version': '', 'bracket': '(120门幅)', 'imgUrl': 'http://127.0.0.1:8000/media/cache/temp/EV-0229(120%E9%97%A8%E5%B9%85%EF%BC%89.jpg'}}
vv中的中文字符全部错误。 并且os告诉我没有这样的文件。
这似乎是一个简单的问题,我在网上搜索了一个多小时,然后尝试了一些操作,但没有任何效果。
预先感谢任何人帮助我。
编辑
模板中的脚本
for k, v in big_dict.items():
for kk, vv in v.items():
# do something with kk and vv
views.py
$('.designInfoSave').click(function() {
let num = $('.designBox').length;
let bcontext = {};
for (let i = 0; i<num; i++) {
let infoBox = $('#'+i+"-infoBox");
let image = $('#image'+i);
image.toArray();
let children = infoBox.children();
children.toArray();
bcontext[i] = {
'designer': children[2].value,
'number': children[4].value,
'version': children[6].value,
'bracket': children[8].value,
'imgUrl': image[0].currentSrc,
};
}
$.ajax({
type: 'POST',
url: "{% url 'update_des_info' %}",
data: {'csrfmiddlewaretoken': '{{ csrf_token }}', 'context':JSON.stringify(bcontext)},
dataType: "json",
success: function(response){
$("#album").hide();
$(".ajaxResult").show();
}
}
)
});