2012-11-06 101 views
0

我想要一個表單向ajax添加註釋到數據庫。我遇到的問題是,阿賈克斯無法找到,因爲我目前的網址的結構無法找到jQuery AJAX網址

url.com/thread/id 

我想有。如果我輸入整個URL發送到

url.com/ajax_comment 

Ajax請求的URL它工作正常。但是我需要避免這樣做,因爲這個腳本可以安裝在多個域中。那麼,如何在不對網址進行硬編碼的情況下做到這一點?

在JavaScript中是否存在結構,類似於您可以使用include('./folder/file.php');的PHP或者有另一種方法來完成此操作?

+1

@VisioN有一個很好的答案。你也可以使用window.location對象來提取你可能需要的任何url信息(比如url base ...)。 –

回答

2

爲什麼不使用相對URL?

$.ajax({ 
    url: "/ajax_comment", 
    ... 
}); 
+0

這是我通常會這樣做的。 +1 –

+0

是的,通常工作,但由於某種原因,因爲最後有一個id(我使用codeigniter),它不起作用。 – user1701398

1

相對網址將起作用。這將檢索當前的域名並追加您的頁面字符串:

window.location.protocol+"//"+window.location.hostname+"/ajax_comment" 
+0

謝謝,但是如果我的腳本位於子目錄(文件夾)中並且未安裝在主URL上,該怎麼辦?有沒有辦法獲得該目錄名稱? – user1701398

+0

你是指'https:// graph.facebook.com'中的'graph'這樣的子域名嗎?如果是這樣,'window.location.hostname'將包含'graph.facebook.com'。 – SGr