2010-03-17 107 views
5

我使用mod_rewrite重新映射在我的網站的網址的格式如下:如何在JavaScript中獲取根路徑?

http://www.mydomain.com/health/54856

http://www.mydomain.com/economy/strategy/911025/

http://www.mydomain.com/tags/obama/new

的問題是,我提出AJAX調用到一個文件:http://www.mydomain.com/login.php

而且我不想寫滿FULL URL,甚至不使用../技巧,因爲沒有固定級別的文件夾。

所以,我想要的是什麼,從根,無論域名訪問的login.php:

$.ajax({ 
    type: "POST", 
    url: "http://www.mydomain.com/login.php" 
}); 

回答

21

什麼:

$.ajax({ 
    type: "POST", 
    url: "/login.php" 
}); 

請確保您允許訪問從你的mod_rewrite規則到/login.php

+0

謝謝一堆:) – Ryan 2010-03-17 21:17:55

5

你也可以定義一個變量的JS在你的HTML頭使用:

<script type="text/javascript"> 
// siteRoot will be equal to http://www.yourdomain.com/ 
var siteRoot = '<?php echo $theSiteRoot; ?>'; 
<script> 

再追加siteRoot變量在你的AJAX調用。

$.ajax({ 
    type: "POST", 
    url: siteRoot+"login.php" 
}); 

只要確保在包含您的.js文件之前打印siteRoot變量。

使這個工作的另一種方法是使用HTML基本標記。所有客戶端請求都將針對該目標進行。在任何鏈接/腳本聲明之前加入它。

<base href="<?php echo $theSiteRoot; ?>" /> 

希望這有助於:)

編輯:如果您使用的基本標記方法的

你不會需要任何附加到你的AJAX調用。只是一個普通的電話會做的伎倆。

$.ajax({ 
    type: "POST", 
    url: "login.php" 
});