我想編寫一個返回站點url的小幫手函數。 來自PHP和Codeigniter,我非常沮喪,我無法按照自己想要的方式工作。在mvc上獲取網站url
這裏就是我想:
@{
var urlHelper = new UrlHelper(Html.ViewContext.RequestContext);
var baseurl = urlHelper.Content("~");
}
<script>
function base_url(url) {
url = url || "";
return '@baseurl' + url;
}
</script>
我想要回我的應用程序的基本URL,這樣我就可以讓Ajax調用,而不必擔心路徑。以下是我打算如何使用它的方法:
// Development
base_url(); // http://localhost:50024
// Production
base_url("Custom/Path"); // http://site.com/Custom/Path
我該怎麼做?
編輯
我想絕對路徑,因爲我已經抽象的JS對象,讓我的Ajax調用。 所以假設我有:
function MyController() {
// ... js code
return $resource('../MyController/:id');
}
// then
var my_ctrl = MyController();
my_ctrl.id = 1;
my_ctrl.get(); // GET: ../MyController/1
這工作時,我的路線是http://localhost:8080/MyController/Edit
但http://localhost:8080/MyController
時會失敗。
爲什麼你需要baseurl,如果你可以用相對路徑進行ajax調用? – Erwin
RequestContext.Url將爲您提供Uri類型請求的URL(http://msdn.microsoft.com/zh-cn/library/system.uri.aspx)。 RequestContext.Url.Host是域名。但是我必須同意@Erwin,你爲什麼要使用絕對URL? –
@Serg好的。我會在下次再做 – codingbiz