繁体   English   中英

从许多页面中包含的文件进行ajax调用

[英]Making an ajax call from a file that's included in many pages

我正在从各个页面中包含的文件中进行简单的调用。

$.post( "wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color} );

问题是我认为该调用是相对于包含js的文件的路径(所有包含js的文件都在同一目录中),但是我发现该调用相对于当前路径,因此如果我在localhost/biagettistudio那么脚本调用localhost/biagettistudio/wp-content/themes/biagetti_studio/inc/HandleBackground.php但是如果我在localhost/biagettistudio/projects则调用localhost/biagettistudio/projects/wp-content/themes/biagetti_studio/inc/HandleBackground.php

我知道我可以走绝对的道路

$.post( "/wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color} );

但这提出了一个问题,如果我必须移植站点,而基本目录不是根目录。 我显然在这里想念什么?

你可以用

<script type="text/javascript">
    <?php
    echo "var theme_dir ='" . get_theme_root() . ‘/’ . get_template() ."';";
    ?>
</script>

在footer.php中(因此它在每个页面上都可用),如果您移植站点,则不必担心会破坏内容。

然后您可以像这样调用脚本...

$.post( theme_dir + "/biagetti_studio/inc/HandleBackground.php", {color:color} );

这个怎么样:

var path = location.pathname.match(/(.*)\/wp-content\/.*/)[1];
$.post( path + "/wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color} );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM