Javascript在任何情况下都能获得真实路径($.ajax)
我的项目具有以下结构:Javascript在任何情况下都能获得真实路径($.ajax),javascript,jquery,ajax,.htaccess,Javascript,Jquery,Ajax,.htaccess,我的项目具有以下结构: Sil -> css -> js -> clients -> index.php -> response.php index.php 我的问题是文件夹客户端 我的url可以有多种选择,其中一些是: http://localhost/Sil/clients/ http://localhost/Sil/clients/all/ http://localhost/Sil/clie
Sil
-> css
-> js
-> clients
-> index.php
-> response.php
index.php
我的问题是文件夹客户端
我的url可以有多种选择,其中一些是:
http://localhost/Sil/clients/
http://localhost/Sil/clients/all/
http://localhost/Sil/clients/stackoverflow/2
http://localhost/Sil/clients/stackoverflow/2/technology/5
如您所见,我使用.htaccess
编写规则
也就是说,这里的问题是$.ajax.
中的url。我在clients/index.php
文件中使用以下代码
$.ajax({
url : 'response.php?type=add',
});
当且仅当我的url是http://localhost/Sil/clients/
如果url是上面提到的其他选项,它将不起作用,因为文件url输出将是:
http://localhost/Sil/clients/all/response.php?type=add
这显然是错误的
我已经通过使用完整的url解决了这个问题,但我不认为这是最好的方法,因为当我必须通过FTP将文件上载到服务器时,我必须在每个$中进行更改。ajax
从本地主机
更改为我的域名
$.ajax({
url : 'http://localhost/Sil/response.php?type=add',
});
我还有其他选择吗?我尝试了
window.location.pathname
但没有成功。您可以用斜杠启动URL以指定“根目录”:
或者在HTML中使用
标记:
<base href="http://localhost/Sil/clients/" />
<script>
$.ajax({
url : 'response.php?type=add',
});
</script>
$.ajax({
url:'response.php?type=add',
});
好吧,问题解决了。我以前只尝试过“/clients/response.php”。我就在附近!:顺便说一句,编辑你对/Sil/clients/response.php?type=add
(这是正确的),我会在几分钟内接受。嘿,还有一件事。这将在一个真正的领域工作?因为在一个真实的域中,我实际上没有一个名为“Sil”的文件夹。如你所知,ftp有public\u html/
而不是public\u html/Sil/
@user3355243,那么你所需要更改的(如果你在URL的开头没有使用/
)就是你的
路径,并且一切都是固定的。但是,这意味着每当我将文件上传到ftp,我都需要在每个页面中更改到href=“http:://mydomain.com/”
,因为如果我让它成为href=,它们将无法工作”http://localhost/Sil/clients“
-我想?@user3355243除非您使用PHP或其他服务器端语言,否则是的-您需要在每个站点上更改它或从localhost复制文件夹结构。为了避免这种情况,我倾向于使用子域(以及您的主机
文件),因此您将访问funclient.localhost/
,但您仍然需要更改href
。
<base href="http://localhost/Sil/clients/" />
<script>
$.ajax({
url : 'response.php?type=add',
});
</script>