簡體   English   中英

Javascript調用相對路徑,而不是從Web根目錄

[英]Javascript calls relative paths and not from web root

當我從示例Ajax或其他函數調用javascript中的文件時,javascript會嘗試相對於當前地址而不是從baseURL或root調用它。

例如,如果我在domain.com/my-page/上,並且嘗試使用以下方式調用php文件

$.post('ajax/class.designer.php', { action: 'getcard', cardID: id },
        function(data) {
            loadCard(data)
        }, "json");

當我實際希望它調用domain.com/ajax/class.designer.php時,它會嘗試調用domain.com/my-page/ajax/class.designer.php。

與諸如CKEditor之類的插件一樣,它嘗試調用相對於當前地址的.css文件。

該應用程序使用mod_rewrite和友好的url。 一切都重定向到/中的index.php,並從index.php重定向到該函數,然后調用該函數以顯示該頁面。

我已經設置了RewriteBase /,並且還將我的HTML頭中的baseurl設置為根路徑。

注意:在本地主機上運行時,一切正常。 當我將其移至實時服務器時,問題就開始了。

在ajax前面加一個斜線,即/ajax 當不使用斜線時,您將獲得相對路徑,即相對於您所在位置的路徑。 要獲得絕對路徑,請始終以/開頭。

上述答案的替代方法是,您可以在頭部添加一個基本標簽。 這將告訴瀏覽器從哪里開始所有相對路徑。 對於您的特定問題,您將添加:

<base href="http://domain.com">

這將導致您添加的所有相對URL都從root開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM