检查饼干__RequestVerificationToken存在
问题描述:
我得到一个著名的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问题,似乎无法找到答案。
答
那么,$.cookie
不是内置于jQuery。它需要一个插件。如果你没有这个插件,那将会以undefined
的形式返回,并且测试!undefined
总是会是真的。因此,我会假设你在某处找到了代码,假设它是jQuery的一部分,并且没有费心去包含实际上使其工作的插件。此外,该语法和关联的插件已被弃用,以支持JavaScript Cookie project,所以请使用它而不是旧的jQuery Cookie插件。
答
检查你的web.config如果存在注释以下行
httpOnlyCookies = “真正的” requireSSL = “真”。
我在我的登录页面中加入了''〜/ scripts/global/jquery.cokie.min.js'' – JustLearning
我也通过创建一个测试cookie并检查它是否存在相同的代码来测试它 – JustLearning
这是一个直接粘贴?你把“cookie”拼成“cokie”。 –