2013-06-19 69 views
0

关于神秘的路由双重请求已经有太多的问题/线索了。每个人都指向favicon.ico的东西。在浏览器页面加载时请求路由两次

但不幸的是不适合我!我试着用app.use(express.favicon()); 现在我已添加评论上述app.use声明并将<link rel="shortcut icon" href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico">添加到主模板。依然没有。试过short-circuiting吧,还是没什么。

我有一个路由查看计数器,它显示了一倍的价值。我认为,它也消耗双重资源。

GET /login 200 65ms - 2.5kb 
GET /login 304 66ms 

这就是它如何在终端登录。我怎样才能阻止呢?

(我用卷曲通过命令行进行了测试,没有问题的话)

+1

如果您使用chrome开发人员工具打开加载/登录,您可以发布登录到“网络”选项卡的请求正文吗?如果它是favicon,你会在URL路径中看到/favicon.ico。你是否也可以在HTML中加入“/ login”,因为通常这就是浏览器所做的 - 他们解析HTML并基于其中的标记他们会发出额外的GET请求。 –

+0

谢谢彼得!我解决了它。我一直在检查网络标签,并看到相同的页面被调用两次。在你让我把它发布在这里之后,我再次检查了一遍,这次是正确的。对于第二个调用,我注意到了jQuery的启动器。瞧!禁用JS并没有问题。检查了我的自定义js并找出了一个缺少的$ .get($(“。user-tweets-link”)。attr(“href”),function(data){...'call。用'if ($(“。user-tweets-link”).length> 0)'和它不在了:)再次感谢! PS:可以将它添加为下面的“答案”吗?人们可能会做类似的愚蠢的事情,并感到困惑。 –

+0

是的,请发布并接受您的回答。很高兴你想出来了。 –

回答

0

这是因为所有的混乱在互联网这个问题是通过整流图标的事情解决了。

但是,当变量不存在时,这是愚蠢的jquery $ .get()调用,该调用是空白的(它调用与页面url相同的url)。我包装了ajax调用并解决了问题。

+0

我该如何避免那个电话? – Vishnu