ASP.NET MVC 응용 프로그램용 JavaScript에서 응용 프로그램 루트를 확인하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-02 03:29:02
원래의
596명이 탐색했습니다.

How to Determine the Application Root in JavaScript for ASP.NET MVC Applications?

JavaScript에서 애플리케이션 루트 결정

웹 개발에서는 JavaScript가 애플리케이션의 루트 또는 기본 URL에 액세스해야 하는 경우가 많습니다. ASP.NET MVC 애플리케이션에서 애플리케이션 루트는 배포에 따라 달라질 수 있습니다.

문제:

JavaScript가 "/jobs/GetIndex"와 같은 URL을 참조하는 경우 코드에 따라 응용 프로그램이 "Jobs"와 같은 하위 폴더에 배포되면 올바르게 작동하지 않을 수 있습니다. 이는 URL이 "http://site/jobs/jobs/GetIndex" 대신 "http://site/jobs/GetIndex"로 확인되기 때문입니다.

해결책 1: 절대 경로 사용 슬래시

간단한 해결 방법은 URL 시작 부분에 슬래시("/")를 추가하는 것입니다. 이렇게 하면 애플리케이션 루트를 기준으로 URL이 확인됩니다. 예:

var urlToJobIndex2= "/jobs/GetIndex";
로그인 후 복사

해결책 2: 네임스페이스가 있는 JavaScript 변수

보다 동적인 접근 방식을 위해 JavaScript 네임스페이스를 만들고 애플리케이션 루트 URL을 변수에 할당합니다. 그런 다음 다른 URL을 구성해야 할 때 이를 기본 URL에 추가할 수 있습니다.

Razor 보기에서 Url.Content 도우미 메서드를 사용하여 기본 URL을 생성하고 이를 네임스페이스 변수에 할당합니다. 전역 변수와의 충돌을 피하려면 JavaScript 네임스페이스를 사용해야 합니다.

<script>
    var myApp = myApp || {};  
    myApp.Urls = myApp.Urls || {};
    myApp.Urls.baseUrl = '@Url.Content("~")';
</script>
로그인 후 복사

JavaScript 파일에서 기본 URL에 액세스할 수 있습니다.

var urlToJobIndex= myApp.Urls.jobIndexUrl;
로그인 후 복사

기본 URL을 결합할 수도 있습니다. 다른 URL을 생성하기 위한 추가 경로가 있습니다. 예:

var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";
로그인 후 복사

위 내용은 ASP.NET MVC 응용 프로그램용 JavaScript에서 응용 프로그램 루트를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿