javascriptasp.netasp.net-mvcajax

root url javascript


I'm working on an .Net ASP MVC razor application

The root url on the server being "myWebSite.com/myApp/"

I need to find dynamically this url to have the right url to make some Ajax call to action like this

    $.ajax(
    {
        type: "POST",
        url: root + "/Controller/Action",
        data: ...
    }

I read a few things here and there but what I found doesn't work

"document.location.hostname" -> "myWebSite.com"
"location.host"              -> "myWebSite.com"
"window.location.pathname"   -> "/myApp/"

Last one sounded promissing but if I navigate in the website :

 for an url :  "myWebSite.com/myApp/Controller/Action?1" 
 "window.location.pathname"   -> "/myApp/Controller/Action"

Solution

  • In asp.net mvc, using razor view engine, I got this in my layout:

    <script type="text/javascript">
     var baseUrl = "@Url.Content("~")";
    </script>
    

    That way we can define application base url as javascript object that is accessible from everywhere.