版本
1 Python 3.8.2 2 Django 3.0.6
场景
前端页面:使用bootstrap-table展示后台传入数据,选中多行提交修改,弹出bootstrap模态框
模态框内容:根据选中表格行数进行模态框动态表格填充(只是使用的bootstrap的表格),输入内容后,真正提交后台修改。
问题
提交到后台的内容,类型str,但是内容无法展示
# html 代码
$('#btn1').click(function () {
$.ajax({
url: '/app1/',
type: 'POST',
data: {
csrfmiddlewaretoken: '{{ csrf_token }}',
'update_data': get_update_data // line:1 注意此行 //
},
success: function (msg) {
alert(msg.message);
}
});
});
function get_update_data() {
var dt_list = new Array();
$('#modal_tab1 tbody tr').each(function () {
var objdt = new Object();
$(this).children('td').each(function (j) {
if (j < 1){
objdt[j] = $(this).text();
}
else{
objdt[j] = $(this).find("input").val();
}
});
dt_list.push(objdt);
});
console.log(dt_list);
return dt_list
}
...省略...
# django代码
update_data = request.POST.get('update_data')
print(type(update_data))
print(update_data )
...省略...
# django 默认输出日志
<class 'str'> [object Object],[object Object]
注意 line:1 这行, 无论是使用 get_update_data, 还是 get_update_data() 后台均无法显示正常内容。
get_update_data 方法是根据网友方法,获取模态框内容
问题解决
# 使用JSON.stringify() 方法, 问题解决 'update_data': JSON.stringify(get_update_data()),