2012-11-20 46 views
0

我創建了一個組合ajax選擇菜單,並在本地主機上運行它。我只是試圖將文件移動到一個wordpress配置文件中,並將其設置爲模板,但由於.js文件調用其他文件的路徑,我遇到了問題。如何在Javascript/Ajax中調用特定的文件夾

有沒有一種方法可以調用直接路徑?該JS是這樣的:

$(document).ready(function(){ 
     $("select#direction").attr("disabled","disabled"); 
     $("select#route").change(function(){ 
     $("select#direction").attr("disabled","disabled"); 
     $("select#direction").html("<option>wait...</option>"); 
     var id = $("select#route option:selected").attr('value'); 
     $.post("select_direction.php", {id:id}, function(data){ 
      $("select#direction").removeAttr("disabled"); 
      $("select#direction").html(data); 
     }); 
    }); 
}); 

我想從WordPress主題文件夾叫它/包括/ select_direction.php

這個js文件存在於包括文件夾以及。

回答

-1

JavaScript代碼不知道它在includes文件夾中。它運行在它運行的頁面所在的位置。

因此,您會像使用頁面所在位置的任何相對路徑一樣引用文件。

+0

有沒有辦法選擇直接路徑?如果是這樣,我會怎麼做呢?像/wp-content/themes/etc/etc/includes/file_name.php – user1701252

0

您可以使用從網站文檔根目錄直接到您要調用的文件的路徑。可能類似於:

"/theme_folder/includes/select_direction.php" 

任何以斜槓「/」開頭的路徑都將是源自文檔根目錄的路徑。如果路徑是相對於你的頁面的JavaScript代碼,你可以使用點 - 點「..」是指一個目錄:

"../../theme-folder/includes/select_direction.php" 

如果你想從你的PHP腳本通過這條道路,最好的辦法是把路徑中的HTML元素的屬性:

<body data-script-path="/theme_folder/includes/select_direction.php"> 

然後在你的JavaScript代碼,你可以得到與路徑:

var path = $("body").data("script-path"); 

有很多方法來傳遞從數據服務器端的客戶端,你可以用PHP解析JavaScript - 但這是一個很難的解決方案。 HTML5數據屬性更清晰。

+0

謝謝。它通過直接進入根文件夾並繼續上傳文件夾鏈。我正在尋找更多的地方,我可以在.js腳本中調用PHP的一部分,但由於這是不可能的(至少我不認爲它是這樣),所以我會在需要時手動編輯這些文件。感謝您花時間幫忙。 – user1701252

+0

我已經更新了我的答案以解決您的評論。 – Martin

相關問題