我正在运行开发人员的Django服务器,同时编写一个简单的视图,似乎每当我请求一个页面时,控制台显示同一个URL有2个GET。什么会导致这种情况发生?我没有使用任何重定向,所以我看不出第二个请求是如何制作的?
编辑:它似乎是由模板引起的。更改为模板的空白html文件解决了该问题。问题是为什么?我有多个{%if%} {%endif%}部分,没有其他部分。这可能是一个问题吗?
答案 0 :(得分:1)
它也可能是Firefox遵循WC3指令,在该指令下,如果某些标签变空或损坏,它应该双重加载,例如,没有src =""说到这里,我在收到时保存了渲染的HTML并将其移动到一个静态文件中,在那里我添加了与真实结账相同的标题和所有访问的小型DB日志。
我只是偶然发现了这个问题,并修复了我删除我的img wit src =""
答案 1 :(得分:0)
请确认,如果Django在向您的网址添加斜线后重定向。您的 settings.py 中的属性 APPEND_SLASH 可以控制该属性。
答案 2 :(得分:0)
第二个请求可能是由错误配置的资产链接引起的 - 脚本,样式或img标记为空或省略了初始/
,因此正在重新请求页面。
答案 3 :(得分:0)
它可能是你的快捷方式/ favicon
您的网页模板中是否有链接rel =“快捷方式图标”?注释掉它以查看它是否删除了第二个请求
答案 4 :(得分:0)
在我的情况下:我在2个文件中有相同的javascript代码:一个在基本模板中,另一个在另一个模板中。当我使用ajax重新加载所有页面时,我得到了2x,然后是4x和8x,... 解决方案是仅在mybase.html中使用javascript代码 此后我的js代码:
<script type="text/javascript">
// Code jQuery Ici
$(document).ready(function(){
// GET
$(".ajax_onglet_get").click(function(e){
var lien = $(this).attr('href');
$('#zone_travail').fadeOut('fast', function(){
$('#zone_travail').load(lien, function() {
$('#zone_travail').fadeIn('fast');
});
});
e.preventDefault()
});
});