Ваш код jQuery выглядит неполным, поскольку в вашем .NET-коде есть проверка запроса на подделку, но вы не отправили маркер подделки в запросе на публикацию.
Если вы используете какую-либо форму, вы можете добавитьтокен подделки с помощью этого метода @Html.AntiForgeryToken()
и добавление еще одной строки кода для публикации токена защиты от подделки в запросе поста jQuery.
insertItem: function (item) {
console.log("items",item);
var d = $j.Deferred();
var token = $('input[name="__RequestVerificationToken"]').val();
$j.ajax({
type: "POST",
//data: {},
//data: { Email: item.Email, FirstName: item.FirstName },
data: {
item:item,
__RequestVerificationToken: token,
},
url: '@Url.Action("Create", "User")',
//contentType: 'application/json; charset=utf-8',
//dataType: "json",
}).done(function (response) {
console.log("response", response.response)
d.resolve(response.response);
});
return d.promise();
}
Если вы хотите просто проверитьесли это происходит из-за токена защиты от подделки, просто удалите эту строку кода из контроллера .Net (Ваш код).
[HttpPost]
[ValidateAntiForgeryToken]
Вы можете выполнить отладку, подключив отладчик к контроллеру, и вы сможетесм. ошибку, вызванную маркером защиты от подделки.