3

我要做的是发送带有/不带图片的用户文本并将它们响应到页面而无需再次重新加载页面。

Django形式:

class PostForm(forms.ModelForm):
text = forms.CharField(max_length=128)
picture = forms.ImageField(required=False)
class Meta:
    model = Post
    fields = ['text', 'picture',]

HTML:

<form id="post_form" enctype="multipart/form-data">

   <div class="fieldWrapper">  
      {% csrf_token %}   
      {{ postForm.as_p }}
   </div>
   <INPUT id="postBtn" type="submit" name="submit" value="submit"/>
</form>

查询:

$("#postBtn").click(function() {
    $.ajax({
           type: "POST",
           url: "/restaurant/feed/",
           data: $("#post_form").serialize(),
           success: function(data)
           {
                // do something
           }
    })
}

意见:

def feed(request):
 print request.FILES

我从 print 得到的结果是空列表。有什么建议吗?顺便说一句,我可以不用ajax方法上传图片。

4

1 回答 1

3

您不能通过 jQuery 发送文件$.ajax(),您应该选择其他解决方案,例如http://blueimp.github.io/jQuery-File-Upload/https://github.com/Widen/fine-uploader

于 2013-07-19T14:36:54.550 回答