Uso codice JavaScript per chiamare un'API Web MVC. Funziona bene quando il percorso corrente è:MVC "~" percorso in javascript
http://localhost/myApp/Administrator
ma non riesce quando il percorso corrente è:
http://localhost/myApp/Administrator/
ottengo l'errore The resource cannot be found
. Di seguito è riportato il codice:
$.getJSON("api/UserApi",
function (data) {
...
});
Non voglio usare un URL assoluto nel codice, ad es .:
$.getJSON("http://localhost/myApp/api/UserApi",
function (data) {
...
});
L'URL assoluto non funzionare bene, ma manca di flessibilità. C'è un modo per fare la stessa cosa di seguito?
$.getJSON("~/api/UserApi",
function (data) {
...
});
ASP.NET supporta la sostituzione del carattere "~" con il percorso principale dell'applicazione corrente, ad esempio:
http://localhost/myApp
Tuttavia, il carattere "~" non è supportato in file JavaScript . Come realizzo la stessa cosa?
JavaScript si trova in un file autonomo che non può utilizzare istruzioni ASP.NET come Url.Content
. C'è un modo migliore per farlo?
Ho trovato il seguente metodo. Ci sono delle soluzioni migliori ?:
1) Scrivi il codice di seguito in un file .cshtml
2) leggere la variabile currentDomain
dal file .js:
$.getJSON(currentDomain + "/api/UserApi",
function (data) {
...
});
a razorjs non funziona più – Alok