Używam kodu JavaScript do wywoływania web API MVC. To działa dobrze, gdy obecna ścieżka to:Ścieżka MVC "~" w javascript
http://localhost/myApp/Administrator
ale nie gdy droga prądu jest:
http://localhost/myApp/Administrator/
pojawia się błąd The resource cannot be found
. Poniżej znajduje się kod:
$.getJSON("api/UserApi",
function (data) {
...
});
nie chcę użyć bezwzględny adres URL w kodzie, np .:
$.getJSON("http://localhost/myApp/api/UserApi",
function (data) {
...
});
Bezwzględna URL nie działa dobrze, ale brakuje mu elastyczności. Czy istnieje sposób na zrobienie tego samego, co poniżej?
$.getJSON("~/api/UserApi",
function (data) {
...
});
ASP.NET obsługuje zastąpienie znaku „~” z toru głównego bieżącej aplikacji, np
http://localhost/myApp
Jednakże, „~” postać nie jest obsługiwana w plikach JavaScript . Jak mogę zrobić to samo?
JavaScript jest w samodzielnym pliku, który nie może używać instrukcji ASP.NET, takich jak Url.Content
. Czy istnieje lepszy sposób na zrobienie tego?
Znalazłem następującą metodę. Czy są jakieś lepsze rozwiązania ?:
1) Wpisz poniższy kod w .cshtml pliku
2) Przeczytaj currentDomain
zmiennej z pliku .js:
$.getJSON(currentDomain + "/api/UserApi",
function (data) {
...
});
link do razorjs nie działa – Alok