gpt4 book ai didi

javascript - 使用 algolia 助手设置非 Algolia url 参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:26 25 4
gpt4 key购买 nike

我正在使用 Algolia 的 Instantsearch.js,我想从我的脚本中更新一个与 algolia 无关的 uri 查询参数。我看到我可以使用助手设置查询和搜索:

search.helper.setQuery('myquery').search();

这行得通,但我想知道我是否可以使用帮助器在查询字符串中设置一个额外的 uri 参数,该参数与 Algolia 查询无关,但与我网站的功能相关。

我在文档中看到有多种设置查询参数的函数: https://github.com/algolia/algoliasearch-helper-js#url-helpers但他们似乎都不符合我正在寻找的东西。在执行上面的 search.helper.setQuery 之前,您是否建议我如何更新查询字符串,例如:“country_code”到一个值,例如:“FR”?理想情况下,我会喜欢它,以便同时在 uri 中设置两个值。谢谢!

最佳答案

instantsearch.js 不提供执行此操作的 API,但它会保留由其他代码段设置的每个参数。因此,在您的情况下,如果 URL 已经包含 country_code,那么您就完成了。

否则,如果您想从前端执行此操作,则可以使用 History API的浏览器。此外,您可以使用 getStateAsQueryString在将序列化当前状态并让您添加更多参数(例如国家代码)的帮助器上。但是您需要小心使用用于初始化即时搜索中的 URL 机制的相同参数(例如哪些属性用于 URL)。如果你使用默认值,你应该很好。

要替换当前的 URL/历史状态,代码如下所示:

window.history.replaceState(
null,
'Title',
'?' + helper.getStateAsQueryString({
moreAttributes: {
country_code: 'fr'
}
}));

要更改参数的当前值,它会像:

window.history.pushState(
null,
'Title',
'?' + helper.getStateAsQueryString({
moreAttributes: {
country_code: 'de'
}
}));

关于javascript - 使用 algolia 助手设置非 Algolia url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637883/

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