我有3个环境 - 开发,阶段和产品。我依靠jQuery进行一些ajax显示。 所以我在开发中有类似的东西:
function needsForcedReset() {
$.get("http://dev/_layouts/Ajax/DoesUserNeedForceResetPassword.aspx", function(result) {
alert('got the data from force password ajax page: ' + result);
if (result.toString().length > 0) {
showAlert('Your have to change your domain password now', 0,
false, false, notificationClass.fail);
return true;
}
return false;
});
return false;
}
所以兴趣点是$ .get函数中的硬编码链接。我如何使用jQuery编写相对于_layouts / ajax或代码路径的链接,以便我不必为每个不同的部署方案指定url的主机?
答案 0 :(得分:3)
只需删除http://dev/并使用服务器相对网址。
答案 1 :(得分:0)
有多种方法可以做到这一点。这是两个:
通过JS获取当前文档位置window.location.href
(对于完整URL)或window.location.host
(对于主机名+端口)。其中有更多变种,谷歌。
通过服务器端编程逻辑(通常在许多CMS或框架的常量中提供)在head部分设置html <base href="site.com" />
标记,然后使用jQuery提取它:$('base')
.. 。更多信息:http://www.w3schools.com/TAGS/tag_base.asp
干杯:)