【发布时间】:2023-04-09 06:35:01
【问题描述】:
我在我的 MVC 应用程序中实现了以下代码,以在用户单击链接时加载一些 Json 对象。
<form>
@Html.AntiForgeryToken()
</form>
$("body").on('click', ".clickhere", (function () {
var token = $('[name=__RequestVerificationToken]').val();
$.ajax({
type: 'POST',
url: '/do/things',
cache: false,
headers: { "__RequestVerificationToken": token },
contentType: 'application/json; charset=utf-8',
data: data
},
success: function () {
...
},
error: function () {
...
}
});
});
我根据this tutorial 验证令牌。奇怪的事实是,如果我从 Visual Studio 2015 中运行该项目,这是可行的,但如果它是作为 IIS 6.2 上的应用程序发布的,则不是。在 IIS 上运行时,我可以清楚地看到请求令牌不匹配。
【问题讨论】:
-
可能会看到带有过期令牌的缓存页面。硬刷新会发生什么?
-
@charlietfl 结果相同
标签: c# jquery asp.net asp.net-mvc asp.net-mvc-4