.jsファイル内の次のJQuery $ .ajax()呼び出しはローカルで動作しますが、ISPに展開すると動作しません。
$.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);
}
});
私のルートは、次のとおり
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 = "" }
);
ISP/wの差はIIS6でアプリケーションとして有効になっているサブフォルダ(/ IPD)に位置しているアプリケーション/部位です。
Firebugで応答を表示すると、この呼び出しで「404 Page Not Found」エラーが表示されます。
感謝しています。
を見てください。 – ChrisP
eu-ge-neの答えは、いくつかの研究につながりました。問題は、サイトが/ ipdの子フォルダにあるため、サーバーへのすべての呼び出しに "/ ipd"という接頭辞が付いていることです。明らかに、/ ipdフォルダがアプリケーションとしてマークされていても、$ .ajax()呼び出しはサイトのルートに行きます。 URLを「/ipd/services.aspx/GetActivePatient」に変更すると機能します。すべての呼び出しに対してこの回避策を実装するのではなく、サイトをルート(/)に移動しようとする可能性があります。 – ChrisP