Я пытаюсь отправить данные обратно на сервер и получить набор данных обратно. Вместо этого я получаю HTML-код для всей страницы И , который не запускает действие в моем контроллере. И да - JQuery все еще смущает меня.
Код, который у меня сейчас есть:
function updateNavIndex(pageIndex) {
var filters = $("form").serialize();
var productGroup = $("#valProductGroup").attr('title');
var productType = $("#valProductType").attr('title');
var itemsPerPage = $("#ItemsPerPage").val();
$.ajax({ path: "/CatalogAjaxController/UpdateNavigation"
, type: "POST"
, data: "{ productGroup: " + productGroup + ", productType: " + productType + ", itemsPerPage: " + itemsPerPage + ", pageIndex: " + pageIndex + ", filters: " + filters + "}"
, success: function(data) { handleMenuData(data); }
});
$.ajax({ path: "/CatalogAjaxController/UpdateProducts"
, type: "POST"
, data: "{ productGroup: " + productGroup + ", productType: " + productType + ", itemsPerPage: " + itemsPerPage + ", pageIndex: " + pageIndex + ", filters: " + filters + "}"
, success: function(data) { handleProductData(data); }
});
}
Функция обратного вызова отключается, и определение функции выглядит следующим образом:
function handleMenuData(data) {
$("#navigation ul").remove();
}
В этот момент переменная data содержит HTML-код страницы. (И, как я уже сказал, действие не сработало.) Я думаю, что мне следует не вызывать функцию $ ajax напрямую, а использовать определение функции var. Что-то вроде:
var retrieveMenuData = function(path, productGroup, productType, itemsPerPage, pageIndex, filter, fnHandleCallback) {
$.ajax( path
, type
, { productGroup: productGroup, productType: productType, itemsPerPage: itemsPerPage, pageIndex: pageIndex, filter: filter }
, function(data) { fnHandleCallback(data); });
};
Я не уверен, правильно ли я его определил или как правильно его назвать. Любая помощь приветствуется!