ASP Net Core Ajax无法识别传递的数据

时间:2019-06-21 07:54:10

标签: asp.net ajax asp.net-core

我有一个看起来像这样的控制器方法

[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);
    }
});

已输入方法,但所有参数均为空。

这是post方法在浏览器检查中的样子

另外,当我将其更改为GET时,它也可以工作(但是我需要开机自检,因为我对字符串的长度有疑问)

1 个答案:

答案 0 :(得分:0)

问题是您无法像使用get一样使用POST方法,而需要为其提供anti-forgery令牌。

可以找到完整的解决方案here

相关问题