javascript – Ajax,asp.net mvc3路由和相对网址
作者:互联网
我有一个ASP.NET MVC3应用程序发布到这样的URL:
http://servername.com/Applications/ApplicationName/
在我的代码中,我使用jquery ajax请求,如下所示:
$.get(('a/b/c'), function (data) {}, "json");
当我在本地运行应用程序时,ajax请求直接转到正确的页面(是一个mvc路由),因为本地页面以“/”(localhost / a / b / c)结尾.
但是,当我发布到http://servername.com/Applications/ApplicationName/时,尾随的“/”并不总是存在.该网址可能是http://servername.com/Applications/ApplicationName,然后会导致ajax请求尝试加载http://servername.com/Applications/ApplicationNamea/b/c,但由于显而易见的原因而失败.
我已经考虑过重写url以附加一个尾随斜杠,但是A)它没有用,而且B)我觉得这个问题很难解决,并且配置javascript url工作会更好正确无论本地文件夹设置如何.
我确实试过“../a/b/c”和“/ a / b / c”,但似乎都没有效果.
在此先感谢您的帮助!
解决方法:
就个人而言,我倾向于在我的视图中使用服务器相对URL的全局变量,如:
var BASE_URL = '@Url.Content("~/")';
然后你可以做以下事情:
$.get(BASE_URL + 'a/b/c'), function (data) {}, "json");
我想补充一点,如果你想让它完全全局化,你可以将它添加到你的/Views/Shared/_Layout.cshtml中.
标签:jquery,javascript,ajax,asp-net-mvc-3,relative-path 来源: https://codeday.me/bug/20190712/1444375.html