我需要在jquery中确定这个路径,实际上我有一个名为functions.js的文件,并且在这个函数内部用于加载url和jquery
问题是网站索引中的js加载和子文件夹中的文件
<script src="http://www.domain.com/wp-content/includes/themes/mytheme/js/functions.js"></script>
js在网站索引中调用它进入wp-content / includes / themes / mytheme / js
加载jquery调用:wp-content / includes / themes / mytheme / index_loader.php
我可以在jquery中将index_loader.php的绝对路径放入,但我的问题是它是否可以不使用它并计算到js文件的路径
实际上:
$("#test").load("http://www.domain.com/wp-content/includes/mytheme/index_loader.php");
这有可能或在jquery文件中计算? - 我试着没有作品......
$("#test").load("../index_loader.php");
这真的是我的问题,谢谢你的问候
答案 0 :(得分:6)
JavaScript工作的方式,它从它调用的文件加载,现在是它所写的文件。
为了满足您的需要,您需要提供您正在查看的当前页面的相对路径。
示例:
如果当前页面为http://www.domain.com,则您需要执行以下操作:
$("#test").load("wp-content/includes/mytheme/index_loader.php");
如果当前页面为http://www.domain.com/wp-content/index.php,则您需要执行以下操作:
$("#test").load("includes/mytheme/index_loader.php");
作为旁注,CSS的方式不一样,而CSS的相对路径则基于它所写的文件。
答案 1 :(得分:1)
这是非常晚...
但是我使用这种方法,我只是在这里添加它,以防将来有人需要它:
尝试从不同URL(网站的不同部分)中存在的页面使用相同的加载语句时出现此问题
您可以使用location
js变量
location
返回当前路径
例如wwww.blog.mysite.com/posts/postn25/comment64
location.origin
返回域名和主机(因此网站的根目录)
对于以前的URL,它将是
wwww.blog.mysite.com/posts/postn25/comment64
所以当你这样做时
$('#my_tag').load(`${location.origin}/mypath/mypage`)
它总是从根目录开始寻找/mypath/mypage
,
因此,即使域名发生变化,它仍然有效
$('#my_tag').load(`${location.origin}/mypath/mypage #my_tag > *`)
会将/mypath/mypage
中存在的#my_tag中的所有HTML加载到当前页面的#my_tag中