asp.net - ASP Net core ajax 无法识别传递的数据
问题描述
我有看起来像这样的控制器方法
[HttpPost]
public IActionResult CreateNew(string Naslov, int KorisnikID, int GrupaID, string Tekst)
{
//Some code
}
调用它的 Ajax 函数是:
$.ajax({
type: "POST",
url: "/Story/CreateNew",
contentType: "application.json; charset=utf-8",
dataType: "json",
data: JSON.stringify({
"Naslov": $("#Naslov").val(),
"KorisnikID": @Context.Request.Cookies["kid"],
"GrupaID": $("#GrupaID").val(),
"Tekst": $("#Tekst .ql-editor").html()
}),
success: function (message) {
var elements = message.split("-");
if (elements[0] == "success") {
window.location.href = '/Clanak?ID' + elements[1];
}
else {
alert(message);
}
},
error: function (xhr, status, error) {
alert(xhr + " " + status + " " + error);
}
});
方法已输入,但所有参数均为空。
此外,当我将其更改为 GET 时,它可以工作(但我需要发布,因为我的字符串长度有问题)
解决方案
问题是您不能像使用 get 一样使用 POST 方法,并且需要向它提供anti-forgery
令牌。
完整的解决方案可以在这里找到
推荐阅读
- python - 反正有一个opencv显示窗口并将其保存到GUI窗口吗?
- json - JSON 如何是一种 BINARY 编码格式?
- css - 反应中的内联样式css背景不显示
- robotframework - 为机器人框架中的内置关键字设置日志级别
- typescript - 将命名空间转换为基于模块的打字稿代码
- python - 通过 MPI [MPI4py] 发送复数时的 MPI_ERR_TRUNCATE
- r - 类数组 | 如何转换为数据框
- kotlin - 请解释物业代表
- java - 在用java编写的破砖游戏中,如果它同时击中两块砖,我应该如何防止速度反转两次?
- html - addEventListener 到 HTMLDivElement 数组