适用于不同环境的jQuery脚本中的URL?

时间:2011-01-14 18:01:34

标签: jquery

我有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的主机?

2 个答案:

答案 0 :(得分:3)

只需删除http://dev/并使用服务器相对网址。

答案 1 :(得分:0)

有多种方法可以做到这一点。这是两个:

  1. 通过JS获取当前文档位置window.location.href(对于完整URL)或window.location.host(对于主机名+端口)。其中有更多变种,谷歌。

  2. 通过服务器端编程逻辑(通常在许多CMS或框架的常量中提供)在head部分设置html <base href="site.com" />标记,然后使用jQuery提取它:$('base') .. 。更多信息:http://www.w3schools.com/TAGS/tag_base.asp

  3. 干杯:)