【问题标题】:Relative path in AJAX doesn't work for an APIAJAX 中的相对路径不适用于 API
【发布时间】:2019-10-21 17:36:25
【问题描述】:

我有一个带有 API 的服务器和一个网站(API 的客户端)

当我知道服务器的 IP 并将 IP 写入 XMLHTTPrequest 时,它可以正常工作:

var url = "http://192.168.0.14/api"

由于我的 IP 不是静态的,所以我想要一个适用于任何 IP 的代码,所以我做到了

` var url = "http://localhost/api"(服务器也为网站服务)

但是当我这样做时,我加载资源失败:net::ERR_CONNECTION_REFUSED

服务器响应时允许使用 CORS。

知道为什么会这样吗?谢谢

【问题讨论】:

    标签: html json ajax api


    【解决方案1】:

    因为localhost 无法解析到 IP 192.168.0.14,并且 HTTP 服务器没有监听任何 IP localhost 确实 解析到(可能是 127.0.0.1 或 @987654325 @)。

    请记住,localhost 表示“运行浏览器的计算机”。它与运行 JS 的 HTML 文档所在的服务器无关。 http://localhost/ 是一个绝对 URL,而不是相对路径。

    相对路径类似于api,而绝对路径为/api(相对于托管 HTML 文档的服务器的根目录)。

    【讨论】:

    • 但是如果我不写 http:// ,服务器会尝试在文件系统的根目录下找东西... ?我能做什么?
    • 如果 HTML 文档的 URL 是 file: 方案 URL,它只会在文件系统的根目录中查找。无法将相对 URL 从 file: 方案 URL 写入 http: 方案 URL。
    • 请问我该怎么办?
    • @Vesp8266 — 正如我所说,使用以/api 开头的 URL(假设我已经正确解释了您对两个 URL 的描述,因为您没有给出完整的示例集)。跨度>
    猜你喜欢
    • 2012-08-29
    • 2011-07-12
    • 1970-01-01
    • 2015-05-14
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多