我有两个页面,一个着陆页和一个个人资料页。
以下是佣金路线的相关部分:
index GET /welcome/index(.:format) welcome#index
show GET /profile(/:username)(.:format) sessions#show
root / welcome#index
当我到localhost /时,在我的日志中,我看到一个GET请求“/”后跟一个GET请求“/ profile”。这是有问题的,因为如果页面包含一个名为“results”的div,我会向数据库发出一个ajax请求,“/ profile”就是这样。因此,虽然我在我的javascript控制台中没有看到此请求,但我确实在Web服务器控制台上看到了它。
同样,如果我转到/ profile,我会看到/ profile的请求,然后是/的请求。如果我去/ welcome / index,我会看到/的请求,然后是/ welcome / index的请求。
我正在使用omniauth在我的应用程序中登录twitter,但我不认为这是原因 - 我可以在omniauth.rb中注释提供者:twitter行,重新启动Web服务器并仍然看到问题。
我很难过 - 我不知道这些请求来自哪里。我能够从额外的请求对象获得的是它们不是AJAX请求。
编辑:我在Safari中对此进行了测试,但这似乎不会发生在那里,所以它只发生在我的Chrome上。
答案 0 :(得分:0)
我想通了这个,感谢related question
Chrome有一个名为"预测网络操作以提高网页效果的设置。"由于我在测试我的应用时经常执行此操作(到达第A页,单击到第B页),因此Chrome只是假设我会这样做并预取它。我必须以这样的方式编写我的代码:如果发生这种情况,我们就不会对数据库进行额外的写入。