Python DJANGO-AJAX request.files为空
这个问题夺去了我整个周末的生命,所以感谢所有能给我的帮助 我有一个按类别上传报告的表单。在没有ajax的情况下提交表单是没有问题的。但是当我切换到ajax时,ajax不会将文件数据发送到服务器Python DJANGO-AJAX request.files为空,python,ajax,django,Python,Ajax,Django,这个问题夺去了我整个周末的生命,所以感谢所有能给我的帮助 我有一个按类别上传报告的表单。在没有ajax的情况下提交表单是没有问题的。但是当我切换到ajax时,ajax不会将文件数据发送到服务器 打印(self.request.FILES) 返回 <MultiValueDict: {}> 我的ajax帖子 $(document).ready(function() { var newRepForm = $('#newReportForm'); newRep
打印(self.request.FILES)
返回
<MultiValueDict: {}>
我的ajax帖子
$(document).ready(function() {
var newRepForm = $('#newReportForm');
newRepForm.submit(function(event){
$.ajax({
type: "POST",
url: "",
dataType: 'json',
data: {
report_type :$('#id_report_type').val() ,
report_projects :$('#id_report_projects').val(),
report_date : $('#id_report_date').val(),
report_name:$('#id_report_name').val(),
report_file: $('#id_report_file').val()
},
success: function (data) {
$('#message').html("<p class='text-center text-success font-weight-bold'>Success</p>");
},
error: function(data) {
$("#message").html("<p class='text-center text-danger font-weight-bold'>Failed</p>");
}
});
return false;
});
});
$(文档).ready(函数(){
var newRepForm=$(“#newReportForm”);
newRepForm.submit(函数(事件){
$.ajax({
类型:“POST”,
url:“”,
数据类型:“json”,
数据:{
报告类型:$('#id_报告类型').val(),
报告项目:$(“#id_报告项目”).val(),
报告日期:$(“#id_报告日期”).val(),
报告名称:$('#id_报告名称').val(),
报告文件:$('#id_报告文件').val()
},
成功:功能(数据){
$('#message').html(“success
”;
},
错误:函数(数据){
$(“#message”).html(失败
);
}
});
返回false;
});
});
支持通过AJAX上传文件
应该是这样的
newRepForm.submit(function(event){
var formData = new FormData(newRepForm[0]);
$.ajax({
url: "",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (data) {
$('#message').html("<p class='text-center text-success font-weight-bold'>Success</p>");
},
error: function(data) {
$("#message").html("<p class='text-center text-danger font-weight-bold'>Failed</p>");
}
});
return false;
});
newRepForm.submit(函数(事件){
var formData=新formData(newRepForm[0]);
$.ajax({
url:“”,
键入:“POST”,
数据:formData,
async:false,
cache:false,
contentType:false,
enctype:“多部分/表单数据”,
processData:false,
成功:功能(数据){
$('#message').html(“success
”;
},
错误:函数(数据){
$(“#message”).html(失败
);
}
});
返回false;
});
支持通过AJAX上传文件
应该是这样的
newRepForm.submit(function(event){
var formData = new FormData(newRepForm[0]);
$.ajax({
url: "",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (data) {
$('#message').html("<p class='text-center text-success font-weight-bold'>Success</p>");
},
error: function(data) {
$("#message").html("<p class='text-center text-danger font-weight-bold'>Failed</p>");
}
});
return false;
});
newRepForm.submit(函数(事件){
var formData=新formData(newRepForm[0]);
$.ajax({
url:“”,
键入:“POST”,
数据:formData,
async:false,
cache:false,
contentType:false,
enctype:“多部分/表单数据”,
processData:false,
成功:功能(数据){
$('#message').html(“success
”;
},
错误:函数(数据){
$(“#message”).html(失败
);
}
});
返回false;
});
newRepForm.submit(function(event){
var formData = new FormData(newRepForm[0]);
$.ajax({
url: "",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (data) {
$('#message').html("<p class='text-center text-success font-weight-bold'>Success</p>");
},
error: function(data) {
$("#message").html("<p class='text-center text-danger font-weight-bold'>Failed</p>");
}
});
return false;
});