【问题标题】:Are URLs in JavaScript files relative to JavaScript location or browser? [closed]JavaScript 文件中的 URL 是否与 JavaScript 位置或浏览器相关? [关闭]
【发布时间】:2011-05-24 09:06:41
【问题描述】:

当我在 JavaScript 文件中使用 AJAX 请求时:

... url: "request.php" ...

当我在现场时(重写 URL):

http://example/some/action/id/

而 JavaScript 是通过以下方式在元标记中定位和链接的:

... src="http://example/js/ajaxrequest.js" ...

那么请求是转到http://example/some/action/id/request.php还是http://example/js/request.php

如果我将请求 URL 更改为 /request.php 而不是 request.php 那么它会一直转到 http://example/request.php 吗?

如果我有两个工作环境,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

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

http://localhost/projectname/
http://projectname.com/
http://localhost/projectname/some/action/id/
http://projectname.com/some/action/id/

我希望在 JavaScript 文件中请求该 URL 是否可以在所有这些条件下工作,或者我应该在 JavaScript 文件中输入url: "../request.php" 之类的地址?

【问题讨论】:

  • 如果您可以发布单独的问题而不是将您的问题合并为一个问题,则最好。这样,它可以帮助回答您的问题的人以及其他寻找您的至少一个问题的人。

标签: javascript url location relative-path


【解决方案1】:

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

一个。前者

b.是的

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

【讨论】:

    【解决方案2】:

    在我们公司的开发服务器上,我们遇到了类似的问题。我们通过使用子域而不是文件夹来解决它。所以是projectname.localhost/some/action/id/

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2017-12-17
      • 2011-05-04
      • 2013-01-29
      • 1970-01-01
      • 2011-07-24
      • 2012-07-09
      • 2019-03-20
      • 2014-02-21
      相关资源
      最近更新 更多