ajax post django,Django中的Ajax POST请求失败
我正在制作一個Ajax POST請求,但在我的視圖中無法識別它。
views.py中的代碼:
@csrf_exempt
def upload(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
#handle_uploaded_file(request.FILES['file'])
f = request.FILES['file']
global globalVarForToTrackUpload
global globalFileSizeVariable
globalFileSizeVariable = f.size
filename = "/static/Data/" + f.name
destination = open(filename, 'wb+')
for chunk in f.chunks():
destination.write(chunk)
globalVarForToTrackUpload += len(chunk)
destination.close()
#return render_to_response('uploadsuccess.html')
allValues = str(globalVarForToTrackUpload) + " : " + str(globalFileSizeVariable)
return HttpResponse(allValues)
else:
form = UploadFileForm()
return render_to_response('upload.html', {'form': form})
我的中間件設置是:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
)
我的javascript函數是:
function submitForm()
{
//document.forms["myForm"].submit();
xhrPost = getXhrObject();
var arrFiles = document.getElementById('id_file');
var fileToUpload = arrFiles.files[0];
xhrPost.onreadystatechange = function() {
if(xhrPost.readyState == 4 && xhrPost.status == 200)
document.getElementById("upload-progress-bar").innerHTML = xhrPost.responseText;
else
document.getElementById("upload-progress-bar").innerHTML = "processing upload...";
}
xhrPost.open("POST","/upload.psp/",true);
var boundary = "AJAX--------------" + (new Date).getTime();
var contentType = "multipart/form-data; boundary=" + boundary;
xhrPost.setRequestHeader("Content-Type", contentType);
xhrPost.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
xhrPost.send(fileToUpload);
return false;
}
誰能告訴我我失蹤了什么?為什么請求沒有在views.py中的“upload”函數中被識別為“POST”?
提前致謝。
總結
以上是生活随笔為你收集整理的ajax post django,Django中的Ajax POST请求失败的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【风控】团伙挖掘中的14大关系类型
- 下一篇: 【学术相关】211高校神级硕士论文刷屏!