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