Anu*_*pam 3 django django-views
我已经看到这个问题,您可以使用以下命令重定向到上一页:
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
但是有没有办法保持它所在的滚动位置?以上重新加载页面。
经过一番来回,这就是我想出的(在这个答案的帮助下):
from django.http import HttpResponse
def myview (request):
..
..
return HttpResponse('<script>history.back();</script>')
Run Code Online (Sandbox Code Playgroud)
另外,请记住,history.back()做不“刷新”的页面。为了重新加载页面,我们必须使用location.reload()which 也保持滚动位置,但我们必须以巧妙的方式使用它,以免让它进入无限循环。所以这就是我为解决它所做的(如这个聪明的答案中所述)
<input type="hidden" id="refreshed" value="false">
<script type="text/javascript">
$(window).load(function(){
if ($('#refreshed').val() == "false") {
$('#refreshed').val("true");
}
else {
$('#refreshed').val("false");
location.reload();
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
注意:上面使用了一个隐藏的输入字段,因为在调用 'back' 时输入字段的状态会保留。
综上所述,如果 Ajax 调用在您的用例中效果更好,那么您可能需要考虑进行 Ajax 调用,而不是执行上述操作。
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |