Der folgende JQuery $ .ajax() -Aufruf in einer .js-Datei funktioniert lokal, aber nicht, wenn ich auf meinem ISP bereitstellen.
$.ajax({
type: 'GET',
url: 'Services/GetActivePatient',
async: false,
dataType: 'json',
cache: false,
success: function(pt) {
Alert(pt);
},
error: function(xhr, ajaxOptions, thrownError) {
alert('Error loading active patient' + 'XHR:' + xhr + ' OPTIONS:' + ajaxOptions + ' ERROR:' + thrownError);
}
});
Meine Strecken sind:
routes.MapRoute(
"aspx",
"{controller}.aspx/{action}/{id}",
new { action = "Index", id = "" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);
Der Unterschied w/ISP ist die Anwendung/Standort befindet sich in einem Unterordner (/ IPD) befindet, die als Anwendung in IIS 6 aktiviert ist.
In diesem Aufruf bekomme ich einen Fehler 404 Seite nicht gefunden, wenn ich die Antwort in Firebug anzeigen.
Alle Gedanken geschätzt.
Just the $ Schnipsel() Aufruf zu klären, wird mit JQuery in einer JS-Datei. – ChrisP
Die Antwort von eu-ge-ne führte zu einigen Nachforschungen und das Problem ist, dass "/ ipd" allen Anrufen auf dem Server vorangestellt wird, da sich die Site im Unterordner/ipd befindet. Obwohl der Ordner/ipd als eine Anwendung markiert ist, wird anscheinend der Aufruf von $ .ajax() zum Stamm der Site geleitet. Das Ändern der URL zu "/ipd/services.aspx/GetActivePatient" funktioniert. Anstatt diese Problemumgehung für alle Aufrufe zu implementieren, kann ich stattdessen versuchen, die Site in das Stammverzeichnis (/) zu verschieben ... – ChrisP