__javascript vue中的requestverificationtoken错误,MVC 5
我正试图使用ValidateAntiForgeryToken来防止我的应用程序上的跨站点伪造。不断地得到错误 所需的防伪表单字段\uuu requestverificationtoken不存在 我看到很多关于这个的议论,但我一直无法想出一个解决办法 守则: 在my Index.cshtml中,设置AntiForgeryToken:__javascript vue中的requestverificationtoken错误,MVC 5,javascript,vue.js,validation,model-view-controller,Javascript,Vue.js,Validation,Model View Controller,我正试图使用ValidateAntiForgeryToken来防止我的应用程序上的跨站点伪造。不断地得到错误 所需的防伪表单字段\uuu requestverificationtoken不存在 我看到很多关于这个的议论,但我一直无法想出一个解决办法 守则: 在my Index.cshtml中,设置AntiForgeryToken: @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "__AjaxAnti
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "__AjaxAntiForgeryForm" }))
{
@Html.AntiForgeryToken()
}
在my ajax.utilitiespost方法中,设置令牌:
var post = function (options, callbacks) {
// set default POST options
options.type = "POST";
options.dataType = options.dataType !== undefined ? options.dataType : "json";
options.contentType = options.contentType !== undefined ? options.contentType : "application/json; charset=utf-8";
var form = $('#__AjaxAntiForgeryForm');
var token = $('input[name="__RequestVerificationToken"]', form).val();
return sendRequest(options, callbacks);
};
我的jquery正确设置了标题,即“X-request-With”:
最后,我在控制器中指定HttpPost和ValidateAntiForgery属性:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateComposite(string name, int compositeTypeId, int componentTypeId, DateTime inceptionDate)
{
return DispatchCommandWithJsonReturn(new CompositeCommands.CreateComposite(name, compositeTypeId, componentTypeId, inceptionDate));
}
我仍然收到错误所需的防伪表单字段\uu requestverificationtoken不存在
使用MVC5,我不知道这是否相关
你知道怎么了吗
编辑:我在网站的其他地方看到过这个问题,试图进行建议的编辑,但没有任何效果。我知道这是旧问题,但如果有人遇到像我这样的问题,在我的情况下,问题出现在表单的标签中,我必须添加
enctype=“multipart/form data”
,因此,当我将u RequestVerificationToken值添加到ajax调用数据时,它将起作用。这是否回答了您的问题?
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateComposite(string name, int compositeTypeId, int componentTypeId, DateTime inceptionDate)
{
return DispatchCommandWithJsonReturn(new CompositeCommands.CreateComposite(name, compositeTypeId, componentTypeId, inceptionDate));
}