根url javascript
我正在开发一个.Net ASP MVC razor应用程序 服务器上的根url为“myWebSite.com/myApp/” 我需要动态地找到这个url,以获得正确的url,从而进行类似这样的Ajax调用根url javascript,javascript,asp.net,asp.net-mvc,ajax,Javascript,Asp.net,Asp.net Mvc,Ajax,我正在开发一个.Net ASP MVC razor应用程序 服务器上的根url为“myWebSite.com/myApp/” 我需要动态地找到这个url,以获得正确的url,从而进行类似这样的Ajax调用 $.ajax( { type: "POST", url: root + "/Controller/Action", data: ... } 我到处读一些东西,但我发现不起作用 "document.location.hos
$.ajax(
{
type: "POST",
url: root + "/Controller/Action",
data: ...
}
我到处读一些东西,但我发现不起作用
"document.location.hostname" -> "myWebSite.com"
"location.host" -> "myWebSite.com"
"window.location.pathname" -> "/myApp/"
最后一个听起来很有希望,但如果我在网站上浏览:
for an url : "myWebSite.com/myApp/Controller/Action?1"
"window.location.pathname" -> "/myApp/Controller/Action"
这个怎么样
var root = "<%=Request.ApplicationPath%>";
alert(root);
var root=”“;
警报(根);
它是否提供了正确的根URL?您不需要找到它。使用实时路径:
$.ajax(
{
type: "POST",
url: "Controller/Action",
data: ...
}
这将作为asp.net mvc中的
/Controller/Action
进入,使用razor视图引擎,我在布局中获得了以下内容:
<script type="text/javascript">
var baseUrl = "@Url.Content("~")";
</script>
var baseUrl=“@Url.Content(“~””);
这样,我们可以将应用程序基url定义为可以从任何地方访问的javascript对象。我使用以下方法:
在razor中:
Uri auxBaseUri = new Uri(Request.Url.GetLeftPart(UriPartial.Authority));
Uri baseUri = new Uri(auxBaseUri, Url.Content("~"));
然后在js中,我使用:
var baseUrl = "@baseUri.ToString()";
$.ajax
({
type: "POST",
url: baseUrl + "Controller/Action",
...
它在我的机器和服务器上工作。
希望它有帮助这实际上是我在本地使用的,但在服务器上我必须写url:“MyApp/Controller/Action”这是它看起来唯一有效的方法,但每次我把链接放到服务器上都必须更改链接,这真是一件痛苦的事,即使它有效,我也需要在谷歌地图上显示一些图标,为此,我需要正确的根