Перенаправление после XMLHttpRequest
Я рисую на холсте, а затем загружаю рисунок в базу данных (Django). Я добился этого, создав Blob и отправив форму с XMLHttpRequest. Но после загрузки как мне перейти на страницу, на которой отображается новый файл? Я бы хотел, чтобы сервер отправил перенаправление, но это не работает, и, видимо, так делать нельзя. Но как иначе?
Вот Javascript:
function submitFunction() {
canvas = document.getElementById('myCanvas');
var dataURL = canvas.toDataURL("image/jpeg");
form = document.getElementById('myForm');
formData = new FormData(form);
blob = dataURItoBlob(dataURL);
url = window.location.href;
xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
formData.set('artwork_img', blob, 'artwork.jpeg');
xhr.send(formData);
}
А вот Django View:
def create (request, id):
artwork = get_object_or_404(Artwork, pk=id)
context = {'artwork' : artwork}
if request.method == 'POST':
form = ArtworkForm2(request.POST, request.FILES)
if form.is_valid():
newChild = Artwork()
newChild.parent = artwork
newChild.artwork_img = form.cleaned_data['artwork_img']
newChild.artwork_title = form.cleaned_data['artwork_title']
newChild.ancestors = artwork.ancestors+1
newChild.save()
newChild.updateAncestors()
# ---> this is kind of what I'd like to do:
return redirect('showwork', newChild.id)
else:
print(form.errors)
else:
form = ArtworkForm2()
context.update({'form' : form})
return render(request, 'exp/create.html', context)