Ajax 返回空值 / asp.net

Ajax returning null value / asp.net

我正在尝试使用 Ajax 获取多个条目。但是,“id”和“qty”return 都为 null(顺便说一下,我现在为它们提供了默认值。)。你能帮我么?请在下面查看我的代码。

<script type="text/javascript">
$(document).ready(function () {
    $("#submit").on("click", function () {
        var elem = {};
        elem.qty = "10";
        elem.id = 1;
   
        $.ajax({
            url: '/Home/Form1/',
            type: 'POST',
            dataType: 'json',
            data: JSON.stringify(elem),
            
            success: function (data) {
                alert(data),
                    console.log(data),
        
                    $("#output").html(data[0]);
            }
        });
    });
});

    public class Data
{

    public string qty { get; set; }
    public int? id { get; set; }
}

        public ActionResult Form1(Data elem)
    {

        List<Data> Elements = new List<Data>
        {
            new Data {qty=elem.qty, id=elem.id},
            };


        return Json(Elements);
    }

"Lets focus on below code first"

        var elem = {};
        elem.qty = "10";
        elem.id = 1

Note: 正如您已经在 Json 时装上看到的那样,您无需再次解析为 json。因此在这种情况下不需要使用 JSON.stringify。所以你可以试试下面的方法:

Javascript Code:

<script>
        $(document).ready(function () {
            $("#btnSubmit").on("click", function () {
                var elem = {};
                elem.qty = "10";
                elem.id = 1;

                console.log(elem);
                $.ajax({
                    url: 'https://localhost:44361/userLog/FormPost',
                    type: 'POST',
                    dataType: 'json',
                    data: elem,
                    success: function (data) {
                        alert(data),
                            console.log(data),

                            $("#output").html(data[0]);
                    }
                });
            });

        });
    </script>

C# Controller Code:

        [HttpPost]
        public async Task<IActionResult> FormPost(Data elem)
        {
            List<Data> Elements = new List<Data>
        {
            new Data {qty=elem.qty, id=elem.id},
            };


            return Json(Elements);

        }

Output:

希望它能按预期解决您的问题。