gpt4 book ai didi

javascript - 分析 sammy.js 中的查询字符串?

转载 作者:行者123 更新时间:2023-11-29 10:15:31 25 4
gpt4 key购买 nike

我正在使用 sammy.js ,我已经知道如何将这个 url “切割”成几个部分:

<a href="#/label/drafts">drafts</a>

通过

  this.get('#/label/:name', function(context) {

context.$element().append('<h1>' + this.params['name'] + '</h1>');
});

但是我怎样才能删除这个复杂的 url 呢?

<a href="#/label/drafts?a=1&b=2&c=love#a">How to solve this ? </a>

问题:

我如何提取(sammy 的方式):

  • a的值(预期 1 )
  • b的值(预期 2 )
  • c的值(没有散列)(预期 love)
  • c的散列(预期 a )

jsbin

注意我正在寻找 sammy'js 方式(我显然可以通过纯 javascript 来削减它,但同样,我想要 sammy'js 方式 - 如果可能的话)

最佳答案

实际上,Sammy.js 确实支持查询参数,因此您可以在您的 URL 中使用您当前的大部分示例(有关示例,请参见 my answer here)。出于必要,它不支持在您的 URL 中使用 #。它将查询字符串定义为 ? 后跟任意数量的非散列字符(包括无)。这是因为像 /index?param=foo#bar 这样的 url 是一个有效的 URL,它(根据 HTTP 标准)像这样拆分:

  • 路线是'/index'
  • 查询参数“param”设置为“foo”
  • location.hash 设置为 'bar'

如果 Sammy 要在有效查询参数字符集中包含散列字符,那么它将无法轻松识别有效 URL 上的散列。但是,如果您要对散列进行 URL 编码,则可以在您的路由中使用它。

因此,总而言之,Sammy 可以让您接近您想要的结果,但由于它定义查询参数的方式,它无法让您一路到达那里。

关于javascript - 分析 sammy.js 中的查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22808748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com