2013-06-19 65 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