JQuery 加载无法将值传递给控制器

JQuery Load not able to pass value to the controller

我试图通过 ajax Load() 将一个复杂的对象传递给控制器​​,但是我在控制器上得到了一个空对象。

我看到了一些关于此的问题,但是它们在 codeIgniter 上,我正在使用 MVC.NET

这是我的代码:

$('#btnLoadMore').on('click', function () {
        dataObject.PageIndex = dataObject.PageIndex + 1;
        $("#viewPlaceHolder").load("/home/GetPagedData",
       { data: JSON.stringify(dataObject), contentType: 'application/json', type: 'post' });
    });

下面这段位于搜索点击按钮上的代码工作正常。

$('#btnSubmit').on('click', function () {
        var startDate = $('#StartDate').val();
        var endDate = $('#EndDate').val();
        dataObject= {
            'UserId': 1,
            'PageIndex': pageIndex,
            'PageSize': pageSize,
            'StartDate': startDate,
            'EndDate': endDate
        };      
        $.ajax({
            url: '@Url.Action("GetPagedData", "Home")',
            contentType: 'application/json',
    type: 'post',
    cache: false,
    async: true,

    data: JSON.stringify(dataObject)
    ,
    success: function (result) {
        $('#pricing-table').html(result);
        window.location = "#pricing";

    }
    });
    });

来自jQuery Load article

The POST method is used if data is provided as an object; otherwise, GET is assumed.

您只能在load方法中提供url、数据、完整的回调参数。

因此您的代码应如下所示:

$('#btnLoadMore').on('click', function () {
    dataObject.PageIndex = dataObject.PageIndex + 1;
    $("#viewPlaceHolder").load("@Url.Action("GetPagedData","Home")",
    dataObject);
});