Я пытаюсь передать сложный объект контроллеру через ajax Load(), однако im получает нулевой объект на контроллере.JQuery 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";
}
});
});
Быстрый вопрос, что то 'type' для, вы знаете,' jQuery.load' только действительно получает запросы и вставляет возвращаемый HTML непосредственно в DOM ? – adeneo
yup, предполагается, что он вводит возвращенный HTML-код в страницу, у меня также есть разделитель-разделитель, но я не могу передавать значения, несмотря на изменение типа, чтобы получить – SJMan
Ну, данные отправляются, но вы, кажется, используете те же настройки, что и '$ .ajax', которые' load' не имеют. Объект, который вы отправляете, рассматривается как данные, которые вы обычно помещаете в свойство 'data' в' $ .ajax', установка типа или contentType внутри объекта ничего не делает, поскольку contentType - это HTML, а тип - GET , всегда. – adeneo