2017-07-27 98 views
0

我得到一個著名的ASP MVC錯誤:檢查餅乾__RequestVerificationToken存在

The required anti-forgery cookie "__RequestVerificationToken" is not present.

部署我的網站godaddy服務器只有的登錄頁面時,我只收到此錯誤。但是,只需要刷新頁面,錯誤消失了。

因此,我試圖找出如何檢查,如果這個cookie存在並運行:

location.reload(true); 

如果cookie不存在,我認爲這將解決這個問題。

,所以我嘗試使用:

if(!$.cookie('__RequestVerificationToken')){ 
    location.reload(true); 
} 

cookie總是undefined和上面的代碼保存重新加載頁面。

我已經檢查了幾乎所有關於此問題的SO問題,似乎無法找到答案。

回答

0

那麼,$.cookie不是內置於jQuery。它需要一個插件。如果你沒有這個插件,那將會以undefined的形式返回,並且測試!undefined總是會是真的。因此,我會假設你在某處找到了代碼,假設它是jQuery的一部分,並且沒有費心去包含實際上使其工作的插件。此外,該語法和關聯的插件已被棄用,以支持JavaScript Cookie project,所以請使用它而不是舊的jQuery Cookie插件。

+0

我在我的登錄頁面中加入了''〜/ scripts/global/jquery.cokie.min.js'' – JustLearning

+0

我也通過創建一個測試cookie並檢查它是否存在相同的代碼來測試它 – JustLearning

+0

這是一個直接粘貼?你把「cookie」拼成「cokie」。 –

0

檢查你的web.config如果存在註釋以下行

httpOnlyCookies = 「真正的」 requireSSL = 「真」。