2011-01-14 39 views
1

我有3個環境 - 發展,舞臺和產品。我依靠jQuery來做一些Ajax顯示。 所以我在開發類似的東西:在不同的環境中的jQuery腳本的URL?

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; 

    } 

所以關注點是$不用彷徨函數中的硬編碼鏈接。我如何使用jQuery進行編碼,以使鏈接相對於_layouts/ajax或代碼的路徑,而不必爲每個不同的部署場景指定主機的url地址?

回答

0

有多種方法可以做到這一點。這裏有二:

  1. 通過JS獲取當前文檔的位置,window.location.href(爲完整的網址)或window.location.host(該主機名+端口)。這些還有更多的變化,Google它。

  2. 設置在頭部分中的HTML標籤<base href="site.com" />通過你的服務器端的編程邏輯(通常在提供恆定的許多CMS的或框架),然後使用jQuery提取它:$('base') ...更多資訊:http://www.w3schools.com/TAGS/tag_base.asp

乾杯:)