[英]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.