如何使用GET请求重新加载页面并保持滚动位置?

时间:2018-09-13 03:09:02

标签: javascript python django http

我正在使用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'''的{​​{1}}区域:

尝试1:

HttpResponse

这会刷新整个页面,并且滚动位置会丢失。

尝试2:

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

从理论上讲,这应该可以工作(并且如果我只是将其输入浏览器控制台也可以),但是由于它在带有POST请求的Django表单中,因此重新提交了POST请求,从而导致POST请求的无限循环。

注意:至少那是我认为正在发生的事情。这是命令提示符输出(仅显示前几行):

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

问题

是否有办法在正确的滚动位置上重新加载页面并使用GET请求而不是POST请求?

0 个答案:

没有答案