gpt4 book ai didi

javascript - 使用 Algolia,如何将 urlSync 创建的查询字符串传递到 php 客户端?

转载 作者:行者123 更新时间:2023-11-30 08:27:42 26 4
gpt4 key购买 nike

使用 Algolia InstantSearch js 库和 PHP 客户端,我希望将 InstantSearch urlSync 创建的查询字符串传递到 PHP 库的搜索方法中。有没有方便的方法来执行此操作,还是我必须自己将查询字符串转换为库期望的参数?

例如,我有字符串:

?q=&hPP=1000&idx=myindex&p=0&dFR%5Bcolor%5D%5B0%5D=orange&is_v=1

理想情况下我愿意

$client = new \AlgoliaSearch\Client("x", "x");
$index = $client->initIndex($_GET['idx']);
parse_str($_SERVER['QUERY_STRING'], $params);
$res = $index->search('', $params);

但这样做会引发错误,即传递的参数中存在意外属性。

最佳答案

不幸的是,使用 Algolia 客户端确实无法在后端重用即时搜索 URL。我假设您是出于 SEO 目的而提出此问题,这绝对是有道理的。

目前唯一可以做到这一点的语言是 JavaScript。事实上,这个逻辑可以从 instantsearch.js 的底层库中提取:algoliasearch-helper-js .

您实际上可以在前端添加此逻辑,对该查询进行 URL 编码并将其设置在您将在后端解码的自定义参数中。这很难看,但它可以工作(尽管它可能不适合最大 URI 长度)。

在前端,您不必经历从 URL 中提取状态并将状态设置为新助手的过程,您可以简单地使用 search.helper - search 是您的 instantsearch.js 实例。

关于javascript - 使用 Algolia,如何将 urlSync 创建的查询字符串传递到 php 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697335/

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