2017-07-27 97 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 = “真”。