Ajax POST请求为空

时间:2013-08-09 12:45:13

标签: jquery python ajax django post

我尝试使用Ajax上传文件。但是POST请求是空的。

var fd = new FormData();
fd.append('file', files[0].name);
alert(files[0].name);
$("#form_upload").submit();
$.ajax({
    method: "POST",
    url: "/dropupload/",
    contentType: false,
    processData: false,
    data: fd,
    success: function(data) {
        waitforprocess();
    },
    complete: function(data){
        alert(formdata.size)
    },
    error: function(){
        allert("error")
    }
}); 

在视图中 POST是emty

def post(request):
    q = request.POST.get("file")

q =无

为什么POST是空的?

2 个答案:

答案 0 :(得分:1)

尝试序列化表单数据,而不是创建新的FormData对象。像:

var $form = $("#form_upload").find('form');
var fd = $form.serialize();
// ...

答案 1 :(得分:0)

尝试以下方法:

var fd = new FormData($("#form")[0]);

另外,请确保您的表单声明正确无误:

<form id="form" enctype="multipart/form-data">                        
    <input type="file" name="file" />
</form>