微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐