我试图通过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";
}
});
});
答案 0 :(得分:2)
如果数据作为对象提供,则使用POST方法;除此以外, 假设GET。
您可以在load
方法中仅提供网址,数据,完整的回调参数。
所以你的代码应该是这样的:
$('#btnLoadMore').on('click', function () {
dataObject.PageIndex = dataObject.PageIndex + 1;
$("#viewPlaceHolder").load("@Url.Action("GetPagedData","Home")",
dataObject);
});