.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() 호출은 사이트의 루트로 이동합니다. "/ipd/services.aspx/GetActivePatient"로 URL을 변경하면 작동합니다. 모든 호출에 대해이 해결 방법을 구현하는 대신 루트 (/)로 사이트를 이동하려고 할 수 있습니다 ... – ChrisP