0

我尝试使用 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 是空的

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

q = 无

为什么 POST 是空的?

4

2 回答 2

1

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

var $form = $("#form_upload").find('form');
var fd = $form.serialize();
// ...
于 2013-08-09T12:51:42.950 回答
0

尝试以下操作:

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

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

<form id="form" enctype="multipart/form-data">                        
    <input type="file" name="file" />
</form>
于 2015-01-19T09:48:37.910 回答