【发布时间】:2017-06-22 19:39:08
【问题描述】:
我知道,这个主题并没有缺少主题,但请耐心等待。我想使用 Ajax 或等效工具将文件上传到服务器。
# html
<form method="post" id="Form" enctype="multipart/form-data">
{% csrf_token %} # django security
<input id="image_file" type="file" name="image_file">
<input type="submit" value="submit">
</form>
# javascript
$(document).on('submit', '#Form', function(e){
e.preventDefault();
var form_data = new FormData();
form_data.append('file', $('#image_file').get(0).files);
$.ajax({
type:'POST',
url:'my_url',
processData: false,
contentType: false,
data:{
logo:form_data,
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(), # django security
},
});
});
# views.py (server side)
def myFunction(request):
if request.method == 'POST':
image_file = request.FILES
...
...
我猜我配置 ajax 函数的方式存在问题,因为在调试模式下,除了logo 之外的所有数据都会返回。
我是不是做错了什么?
【问题讨论】:
标签: javascript jquery ajax