L'appel JQuery $ .ajax() suivant dans un fichier .js fonctionne localement, mais pas lorsque je déploie sur mon FAI.
$.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);
}
});
Mes itinéraires sont:
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 = "" }
);
La différence w/fournisseur de services Internet est l'application/site est situé dans un sous-répertoire (/ IPD) qui est activée comme une application dans IIS6.
Dans cet appel, j'obtiens une erreur «404 Page Not Found» lorsque j'examine la réponse dans Firebug.
Toutes les pensées ont apprécié.
Juste pour clarifier l'appel .ajax $() utilise JQuery dans un fichier .js. – ChrisP
La réponse de eu-ge-ne ci-dessous a conduit à quelques recherches et le problème est que "/ ipd" est préfixé à tous les appels au serveur puisque le site est situé dans le dossier/ipd child. Apparemment, même si le dossier/ipd est marqué comme une application, l'appel $ .ajax() va à la racine du site. La modification de l'URL en "/ipd/services.aspx/GetActivePatient" fonctionne. Plutôt que d'implémenter cette solution de contournement pour tous les appels, je peux plutôt essayer de déplacer le site vers la racine (/) ... – ChrisP