.js文件中的网址是相对于javascript位置还是浏览器位置?

Pio*_*ler 4 javascript url location relative-path

a)当我在Javascript文件中使用AJAX请求时:

... url: "request.php" ...
Run Code Online (Sandbox Code Playgroud)

当我在位置(重写的URL):

http://example/some/action/id/
Run Code Online (Sandbox Code Playgroud)

和javascript位于元标记中并通过以下方式链接:

... src="http://example/js/ajaxrequest.js" ...
Run Code Online (Sandbox Code Playgroud)

然后请求转到http://domain/some/action/id/request.phphttp://domain/js/request.php

b)如果我改变请求URL http://example/some/action/id/request.php而不是http://example/js/request.php那么它会/request.php永远变为?

c)如果我有两个工作环境:

request.phphttp://example/request.php

和文件结构如下(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
Run Code Online (Sandbox Code Playgroud)

我可以在主页上,也可以在网址上重写地址,例如:

http://localhost/projectname/
http://projectname.com/
http://localhost/projectname/some/action/id/
http://projectname.com/some/action/id/
Run Code Online (Sandbox Code Playgroud)

我希望在javascript文件中请求的URL将在所有这些条件下工作,如果我把地址像:

http://localhost/projectname/

在JS文件中?

Que*_*tin 5

JavaScript中的URI只会插入到与该文档关联的对象中,因此相对于文档URI而不是JS src URI.

一个.前者

湾 是

C.我非常强烈建议您在所有环境中保持与根的任何路径的距离相同.在本地设置虚拟名称托管,或使用Charles Proxy之类的东西在本地测试环境中重写您的域名.