Как перезагрузить страницу и сохранить позицию прокрутки с помощью запроса GET? - PullRequest
0 голосов
/ 13 сентября 2018

Я использую Django и имею следующий вид:

def index(request):
    if request.method = 'POST':
        form = TestForm(request.POST)
        if form.is_valid():
            # Process form
            return HttpResponse('''see below''')
    # The rest of the view...

Проблема:

Я пытаюсь перезагрузить страницу, оставаясь в той же позиции прокрутки,Я попытался поместить пару вещей в область '''see below''' HttpResponse:

Попытка 1:

return HttpResponse('<script>window.location.href = window.location.href</script>')

Это обновит всю страницу, и позиция прокрутки будетпотерян.

Попытка 2:

return HttpResponse('<script>document.location.reload(true)</script>')

Теоретически это должно работать (и работает, если я просто ввожу его в консоль браузера), но так как оно находится в форме Django с запросом POST,запрос POST повторяется, что приводит к бесконечному циклу запросов POST.

Примечание. По крайней мере, я так думаю.Вот вывод командной строки (показаны только первые несколько строк):

[12/Sep/2018 20:05:53] "GET /tasks/ HTTP/1.1" 200 10654
[12/Sep/2018 20:05:54] "POST /tasks/ HTTP/1.1" 200 47
[12/Sep/2018 20:05:54] "POST /tasks/ HTTP/1.1" 200 47
[12/Sep/2018 20:05:54] "POST /tasks/ HTTP/1.1" 200 47

Вопрос

Есть ли способ ОБА перезагрузить страницу в правильном положении прокрутки И использовать запрос GETа не запрос POST?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...