Перенаправление после 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)


Вернуться на верх