你不應該像這樣硬編碼完整的絕對url。您可以考慮使用相對網址。要生成相對URL,您可以考慮使用Url幫助程序方法
如果您的代碼位於外部js文件中,則應考慮使用helper方法在剃鬚刀視圖中生成相對url並將其存儲一個js變量,你可以在你的外部js文件中使用。
在您的Razor視圖
<script>
var myApp = myApp || {};
myApp.siteBaseUrl = "@Url.Content("~")"; // Get the app root
</script>
現在在外部JS文件
$.getJSON(myApp.siteBaseUrl+'api/APILogin/', function (data) {
// do something
});
您還可以使用Url.RouteUrl
輔助方法來生成的網址到API端點。例如
var myApp = myApp || {};
myApp.productsApiUrl = "@Url.RouteUrl("DefaultApi",
new { httproute = true, controller = "Products"})";
現在別的地方在JS codde,你可以使用它像
$.getJSON(myApp.productsApiUrl , function (data) {
// do something with products data
});
這種方法允許你傳遞路徑的值,當你撥打電話和輔助方法將建立網址你(基於路由定義)
myApp.productsDetailsUrl = "@Url.RouteUrl("DefaultApi",
new { httproute = true, controller = "Products", id= 210 })";
結帳出來UrlHelper.HttpRouteUrl(字符串對象) – Nkosi