如何在Javascript / Ajax中调用特定文件夹

时间:2012-11-20 18:08:17

标签: javascript ajax

我已经创建了一个组合ajax选择菜单,并在localhost上运行它。我只是试图将文件移动到wordpress配置中将其设置为模板,但由于.js文件调用其他文件的路径,我遇到了问题。

有没有办法可以称之为直接路径? 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主题文件夹/ includes / select_direction.php中调用它

此JS文件也存在于includes文件夹中。

2 个答案:

答案 0 :(得分: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数据属性更清晰。

答案 1 :(得分:-1)

JavaScript代码不知道它在includes文件夹中。它运行在运行页面所在的位置。

因此,您可以使用页面所在位置的任何相对路径来引用文件。