gpt4 book ai didi

jquery - 不带值的 MediaWiki URL 参数

转载 作者:行者123 更新时间:2023-12-03 22:38:46 26 4
gpt4 key购买 nike

query URL的一部分似乎由 & 分隔的键值对组成并由 = 关联.

我一直使用 jQuery 的 $.param()函数对我的查询字符串进行 URL 编码,因为我发现它使我的代码更具可读性和可维护性。

在过去的几天里,我发现自己在调用 MediaWiki API,但在使用硬编码 URL 清理我的工作原型(prototype)时要使用 $.param()我注意到一些 MediaWiki API 包含带键但不带值的查询参数!

api.php ? action=query & titles=Main%20page & redirects

注意 &redirects部分,没有任何值(value)。

jQuery 的 $.param()接受一个对象,并且由于对象仅由键值对组成,因此不可能传递一个成员具有键但没有值的对象。

没关系,所以我假设我可以传递一些值,例如 nullundefined0但似乎所有这些都受到同样的对待。我发现这很令人惊讶,我一直无法发现任何东西in the MediaWiki API documentation关于这背后的原因。

好的,在我的例子中,通过手动构建 URL 字符串很容易解决。我的问题是“这是 MediaWiki API 中的一个怪癖吗?还是 URL 编码设计中的一个怪癖?我应该在哪里阅读以了解没有关联值的 URL 编码参数背后的推理?

最佳答案

他们所做的很可能只是检查参数是否已定义。通过将 redirects 添加到查询字符串,这实际上是在说“redirects 变量为 true”。因此,添加 redirects=0 仍然是定义该变量,并且 MediaWiki API 会注意到它已被定义(不关心值是什么)。

您的 jQuery 代码只需要附加该参数(具有任何值或无值),或者如果您不希望定义它,则省略它。

关于jquery - 不带值的 MediaWiki URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088184/

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