控制器中的参数值为空

问题描述 投票:0回答:1

我用ajax发送了一个表单,但在我的控制器中我没有值,我的值是null

我有一个表格(大表格),当我提交时,我调用方法 test()

function test(rubricId) {

    var data = $('#r6_FormEditServiceParameters').serialize();

    $.ajax({
        url: $('#r6_FormEditServiceParameters').attr('data-ajax-url'),
        dataType: "application/json",
        data: data,
        type: "POST",
        proccessData: false, // this is true by default
        success: function (ret) {  }
    });
}

并且在我的控制器中我没有价值 enter image description here

我的数据不为空。

你有什么想法吗?

c# ajax asp.net-core
1个回答
0
投票

First:您在

processData
选项中存在拼写错误。应正确拼写为
processData
,而不是
proccessData

第二:当您使用

AJAX
发送数据时,您还应该指定发送数据的内容类型。由于您正在序列化表单,因此应将
contentType
选项设置为
application/x-www-form-urlencoded

第三:确保控制器中的

ParameterRubicModel
具有与您正在序列化的表单字段的名称相匹配的属性。模型绑定过程依赖于将表单字段名称与模型属性相匹配。

更新代码:

function test(rubricId) {
    var data = $('#r6_FormEditServiceParameters').serialize();

    $.ajax({
        url: $('#r6_FormEditServiceParameters').attr('data-ajax-url'),
        dataType: "json",
        data: data,
        type: "POST",
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        processData: false,
        success: function (ret) {
            // Handle success
        }
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.