jquery ajax上传文件到服务器,jquery – 如何在POST上使用Ajax上传文件?

我知道关于这个主题的主题并没有遗漏,这就是为什么我查看了关于这个主题的大量帖子,找不到令我满意的东西,所以我试图自己构建它.

我想要做的就是使用Djaxo使用Ajax上传文件以避免页面刷新.

这是我做的:

basic_upload.html:

{% csrf_token %}

{{ form.name.errors }}

{{ form.name }}

{{ form.email.errors }}

{{ form.email }}

{{ form.logo.errors }}

{{ form.logo }}

Ajax.js:

$(document).on('submit','#creationOptionsForm',function(e){

e.preventDefault();

var form_data = new FormData();

form_data.append('file',$('#creationOptionsForm').get(0).files);

$.ajax({

type:'POST',url:'/designer/results/',processData: false,contentType: false,data:{

organisation:$('#id_organisation').val(),email:$('#id_email').val(),logo:form_data,csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),},});

});

Views.py:

def creationResult(request):

if request.method == 'POST':

form = UserInfos(request.POST,request.FILES)

if form.is_valid():

photo = form.save()

...

...

(forms.py& urls.py配置正确,没有必要包含它们).

我想在调试(pdb)request.POST返回除logo之外的每个数据时,我对ajax.js的处理方式存在问题.

我在做什么吗?