a)当我在Javascript文件中使用AJAX请求时:
... url: "request.php" ...
当我在现场(重写的网址)时:
http://domain/some/action/id/
和javascript在元标记中找到并链接:
... src="http://domain/js/ajaxrequest.js" ...
然后请求转到http://domain/some/action/id/request.php或http://domain/js/request.php?
b)如果我将请求网址更改为/request.php
而不是request.php
,那么它会始终转到http://domain/request.php
吗?
c)如果我有两个工作环境:
http://localhost/projectname/
和http://projectname.com/
和文件结构如下所示(projectname.com是projectname目录的副本):
http://localhost/projectname/js/ajaxrequest.js
http://localhost/projectname/request.php
http://projectname.com/js/ajaxrequest.js
http://projectname.com/request.php
我可以在主页上,也可以在网址上重写地址,如:
http://localhost/projectname/
http://projectname.com/
http://localhost/projectname/some/action/id/
http://projectname.com/some/action/id/
我希望在javascript文件中请求的url会在所有这些条件下工作,我应该把地址放在:
url: "../request.php"
在JS文件中?
答案 0 :(得分:5)
JavaScript中的URI只会插入到与文档关联的对象中,因此相对于文档URI而不是JS src URI。
一个。前者
湾是
℃。我非常强烈建议您在所有环境中保持与根的任何路径的距离相同。在本地设置虚拟名称托管,或使用像Charles Proxy这样的东西在您的本地测试环境中重写您的域名。
答案 1 :(得分:1)
在我们公司的开发服务器上,我们遇到了类似的问题。我们通过使用子域而不是文件夹来解决它。所以它是projectname.localhost/some/action/id/
。