我的项目具有以下结构:
Sil
-> css
-> js
-> clients
-> index.php
-> response.php
index.php
我的问题出在文件夹客户端上。
我的网址可以有多种选择,其中一些是:
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.
内的网址。我在clients/index.php
文件中使用以下代码。
$.ajax({
url : 'response.php?type=add',
});
当且仅当我的网址为http://localhost/Sil/clients/
时,此代码才能完美运行。
如果网址是上述其他选项,则无法正常工作,因为文件网址输出为:
http://localhost/Sil/clients/all/response.php?type=add
这显然是错误的。
我已经通过使用完整网址解决了这个问题,但我不相信这是最好的方法,因为当我必须通过FTP将文件上传到服务器时我必须更改每个$.ajax
从localhost
到我的域名。
$.ajax({
url : 'http://localhost/Sil/response.php?type=add',
});
我还有其他选择吗?我已经尝试了window.location.pathname
。
答案 0 :(得分:0)
您可以使用斜杠启动URL以指定"根目录":
$.ajax({
url : '/Sil/clients/response.php?type=add',
});
或在HTML中使用<base>
标记:
<base href="http://localhost/Sil/clients/" />
<script>
$.ajax({
url : 'response.php?type=add',
});
</script>