编程语言
首页 > 编程语言> > javascript – Ajax,asp.net mvc3路由和相对网址

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