.net AJAX 发布数据未正确解析

vbopmzt1  于 2023-02-26  发布在  .NET
关注(0)|答案(1)|浏览(171)

我有麻烦发布数据到我的剃刀页处理程序使用 AJAX 后。

var $container = $('.railcars');
var $rows = $container.children('.row');
var sources = [];   //data = { storage = [], railcars = [] };
for (var i = 0; i < $rows.length; i++) {
    var $sourceType = $($rows[i]).find('.source-type input');
    sources.push({
        isStorage: $sourceType.prop('checked'),
        source: $($rows[i]).find('.source-number').val(),
        volume: 0,
        markAsEmpty: false });
}

$.ajax({
    type: 'POST',
    url: '?handler=CheckNegativeWeights',
    data: JSON.stringify(sources),
    headers: {
        "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val()
    },
})
.done(function (response) {
    // ...
})
.fail(function (response) {
    // ...
})

我的处理程序得到一个空集合。

我可以看到数据在那里,但显然它的格式不正确。

有人知道我错过了什么吗。

ig9co6j1

ig9co6j11#

您正在将数据序列化为JSON。处理程序方法在没有帮助的情况下无法解析它。具体来说,您需要将请求的内容类型设置为application/json,并使用[FromBody]属性告诉处理程序方法数据位于请求的主体中。

$.ajax({
    type: 'POST',
    url: '?handler=CheckNegativeWeights',
    data: JSON.stringify(sources),
    contentType: "application/json",
    headers: {
        "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val()
    },
})

还有

public async Task<IActionResult>OnPostCheckNegativeWeights([FromBody]YourModel model)

相关问题