【发布时间】:2014-05-28 12:49:27
【问题描述】:
我想使用 jquery 将 csv 文件发布到 django 视图
<form id="form" enctype="multipart/form-data" >
<input type="file" name="ListFile" id="ListFile" />
<button type="button" onclick="csv_send">upload</button>
</form><br>
js是:
function csv_send(){
var data = {
'csrfmiddlewaretoken' : $('input[name=csrfmiddlewaretoken]').val(),
'data': $("#ListFile").val()
}
/*$.ajax({
type: 'POST',
url:'/list/create/',
cache:false,
dataType:'json',
data:data,
success: function(result) {
console.log("ok")
}
});*/
}
django views.py:
def createlist(request):
if request.method == 'POST':
file = request.FILES
这里没有获取文件。
我知道使用表单操作获取文件。但是在这里我想通过 javascript 发布文件,因为我想在成功后回复 javascript。
显然,我希望通过 request.FILES 在views.py 中找到该文件
【问题讨论】:
-
你缺少表单的参数
enctype="multipart/form-data" -
@yedpodtrzitko 现在也打印 request.FILES['ListName'] 给出
-
嗯...问题是您无法通过 AJAX 上传文件。你必须使用 iframe(我有一些为此目的的库:github.com/yedpodtrzitko/ajax-uploader)
-
其实这个问题在这里得到了回答:stackoverflow.com/questions/5392344/…
-
@yedpodtrzitko 使用表单操作作为 url
标签: javascript jquery python html django