Funktionsname existiert nicht im aktuellen Kontext ist der Fehler, den es mir gibt. Ich möchte einen dynamischen Ajax-Anruf. Warum passiert das? Ich bekomme die Handler serverseitig bearbeitet, aber ich weiß nicht, wie ich dieses Problem umgehen soll.Warum kann ich das nicht tun?
var getManager = function (functionName, contentDiv) {
console.log("aircraft manager refresh called");
$.ajax({
type: "GET",
url: '@Url.Action(functionName, "AdminTools")',
cache: false,
data: {},
error: function() {
alert("An error occurred.");
},
success: function (data) {
$("#".concat(contentDiv)).html(data);
}
});
}
So funktioniert das nicht. '@ Url.Action' Aufrufe werden * serverseitig * aufgerufen. Zu der Zeit, die Ihr Skript ausgeführt wird, wurde es bereits durch die tatsächliche URL ersetzt – haim770
Konstruieren Sie einfach die Zeichenfolge mit JavaScript 'url:" AdminTools/"+ functionName' – Jasen
Ich schaute nur den Helper als Parameter platzieren, wird es nicht berücksichtigt schlechte Praxis, URLs in den Ajaxanrufen hart zu kodieren? –