如何在 URL 中传递 false 的布尔变量

Posted

技术标签:

【中文标题】如何在 URL 中传递 false 的布尔变量【英文标题】:How to pass boolean variable of false in a URL 【发布时间】:2015-06-26 17:04:15 【问题描述】:

我不知道如何通过 URL 字符串传递布尔值为 false 的变量。正确的方法是什么?

域/页面?test=false 域/页面?test= domain/page?test=0

【问题讨论】:

【参考方案1】:

这取决于您如何解释参数字符串。您可以编写可以将字符串值“false”、“0”、“”转换为 false 的转换器。您可以采用所有方法,其中任何一种或混合使用。

【讨论】:

【参考方案2】:

URL 是字符串,并且 URL 中的所有值都是字符串。当您在 URL 中看到 i=0 时,0 是一个字符串。当您看到b=true 时,true 是一个字符串。当您看到s= 时,该值为空字符串。

为了让这些字符串具有另一种含义——例如整数0 或布尔值true——必须告诉服务器端程序如何解释它们。通常,Web 框架会对正确的类型做出智能猜测,或者有时会在模型中显式声明类型。

您将如何做到这一点完全取决于您使用的服务器端语言和框架(如果有)。

【讨论】:

【参考方案3】:

如上所述,这取决于您使用的服务器端语言如何处理它。添加到答案,如果你想在 URL 中传递一个 true 或 false 作为参数,你可以

在服务器上运行节点

const whatever = JSON.parse(queryStringParameter)

在服务器上运行 php

$whatever = json_decode(queryStringParameter)

这两个选项都会为您提供可以在服务器上使用的布尔类型。

【讨论】:

【参考方案4】:

如果你可以制作"1"=true"0"=false,那么在javascript中将参数值转换为布尔值将很容易,例如Node.js:

// !!1 = true;
// !!0 = false;

let test = !!parseInt(req.query.test);

【讨论】:

以上是关于如何在 URL 中传递 false 的布尔变量的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Django 变量传递给 Vue 道具

如何在bash的if块中评估布尔变量? [复制]

如何在网络API请求中接收布尔参数时将0/1映射为true / false

那些属于布尔类型??

什么是布尔变量,要如何使用?

VB中布尔型变量如何赋值?