【问题标题】:Build URLS from JSON从 JSON 构建 URL
【发布时间】:2012-11-10 00:12:15
【问题描述】:

我创建了一个可以像这样构建嵌套 url 的函数。我想知道是否存在一个更主流的库来构建这样的 urls / uris。我宁愿使用标准。

utility.urlConstruct({
    "scheme": "https://",
    "domain": "domain.com",
    "path": "/login",
    "query":{
        "user":"thomasreggi",
        "from":utility.urlConstruct({
            "scheme": "https://",
            "domain": "redirect.com",
            "path": "/funstuff",
        }),
    }
});

吐出来

https://domain.com/login?user=thomasreggi&from=https%3A%2F%2Fredirect.com%2Ffunstuff

【问题讨论】:

  • 我强烈建议您删除所有尾随逗号,因为有些浏览器讨厌它们,所以最后一个 }, 应该是 }
  • 明白了,这是一个例子。无论如何我都不想使用上面的代码,我正在寻找替代方案。
  • 在这里发布了我的模块github.com/reggi/schemejs
  • @ThomasReggi,感谢您分享您的 github 存储库。我发现 nodejs 有它自己的 url#parse 方法。请参阅my answer to your other question 上的编辑 2

标签: javascript url uri


【解决方案1】:

正确答案是节点内置URL library

具体来说

url.format(urlObj)

【讨论】:

    【解决方案2】:

    jQuery 在内部为其 AJAX 调用执行此操作。也许有一种方法可以访问内部功能。

    【讨论】:

      【解决方案3】:

      至少有标准约定:

      • 方案(或协议)不包括 //
      • 您的域称为主机(可以包含子域或端口)
      • 路径被称为路径名
      • 查询是参数列表
      • 您可能还需要一个哈希

      那么它非常简单,因此不需要库。您会在那里找到一些库,例如 jsuri,但它们的目的更多的是帮助解析而不是构造(例如解决跨浏览器与路径名的不一致问题)。

      【讨论】:

      • 我还想构建mailto: 方案。方案和协议这两个词是可以互换的。 Path 和 Query 是 express.js 术语。我还加入了端口等。它并不像看起来那么简单。 JavaScript 应该有这样的东西,每个人都在使用。
      • 我认为这需要成为一个库,并且那些同义词应该内置在替代品中。
      【解决方案4】:

      我构建了 Scheme.js 来通过 javascript 对象构建 url,请随时提供任何改进。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-06
        • 1970-01-01
        • 2018-03-30
        • 2018-07-18
        • 2012-09-13
        • 2021-05-24
        • 2019-06-08
        • 2011-08-24
        相关资源
        最近更新 更多