Ich versuche, Daten an den Server zu senden und einen Datensatz zurück zu bekommen. Was ich zurückbekomme, ist der HTML-Code für die ganze Seite AND, es löst nicht die Action in meinem Controller aus. Und ja - JQuery ist immer noch verwirrend für mich.
Der Code, den ich zur Zeit habe, ist:
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); }
});
}
Die Callback-Funktion wird Auslösung und die Funktionsdefinition wie folgt aussieht:
function handleMenuData(data) {
$("#navigation ul").remove();
}
An diesem Punkt der „Daten“ Variable die HTML-Seite hat in es. (Und wie gesagt, die Aktion wurde nicht ausgelöst.) Ich denke, dass ich die $ ajax-Funktion nicht direkt aufrufen sollte, sondern eine var-Funktionsdefinition verwenden sollte. Etwas wie:
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); });
};
Ich bin nicht sicher, ob ich es richtig definiert habe oder wie man es richtig nennt. Eine Hilfe ist erwünscht!
Ah, guter Punkt ... es macht nicht viel Sinn, JSON in Javascript zu zitieren ... JSON ist schließlich Javscript Object Notation. – Powerlord
Ich benutze den Beitrag bei "http://stackoverflow.com/questions/799404/ajax-and-mvc-c" und ich bekomme immer noch den Fehler "Daten ist undefiniert" - wo Daten die Rückkehr sein soll die Controller.Action-Methode. –
My var Funktionsdefinition lookls wie: var retrieveData2 = function (Pfad, Produktgruppe, product, ItemsPerPage, pageindex, Filter, fnHandleCallback) { $ .getJSON (Pfad , {Produktgruppe: Produktgruppe, product: product, ItemsPerPage: ItemsPerPage, pageIndex: pageIndex, Filter: Filter} , function (data) {fnHandleCallback (data);}); }; Wenn ich anrufe ist es wenn ich den Fehler bekomme. Mein Aufruf sieht wie folgt aus: retrieveData2 ("/ CatalogAjaxController/UpdateNavigation", productGroup, productType, itemsPerPage, pageIndex, Filter, handleMenuData (Daten)); * confused * –