使用Ajax提交表单失败Django后端无法接收数据
报错:NOT NULL constraint failed或django.utils.datastructures.MultiValueDictKeyError
处理方法
将原本使用
$('#change_form{
{i.username}}')
或
$('#change_form{
{i.username}}').serialize()
读取的表单数据改为使用
var upload_form = new FormData(document.getElementById("change_form{
{i.username}}"))
进行读取
错误原因
出现这两种报错均是因为Django后端没有能够成功获取到数据。这是ajax提交到后端的数据格式出现了问题,无法被request.POST.get()方法正确识别导致的。
在我的代码中,刚开始复制了网上的ajax代码:
function textchange_form_submit{
{
i.username}}(){
$.ajax({