1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ajax post django Django中的Ajax POST请求失败

ajax post django Django中的Ajax POST请求失败

时间:2021-08-05 07:46:06

相关推荐

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 = (

'monMiddleware',

'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”?

提前致谢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。