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