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

问题描述 投票:0回答:5

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

  • 域/页面?test=false
  • 域名/页面?测试=
  • 域/页面?测试=0
html get
5个回答
81
投票

URL 是字符串,URL 中的所有值都是字符串。当您在 URL 中看到

i=0
时,
0
是一个字符串。当您看到
b=true
时,
true
是一个字符串。当您看到
s=
时,该值为空字符串。

为了使这些字符串具有另一种含义(例如整数

0
或布尔值
true
),必须告诉服务器端程序如何解释它们。 Web 框架通常会对正确的类型做出明智的猜测,或者有时在模型中显式声明类型。

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


7
投票

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

服务器上运行节点

const whatever = JSON.parse(queryStringParameter)

在服务器上运行 php

$whatever = json_decode(queryStringParameter)

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


3
投票

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


1
投票

如果你可以制作

"1"=true
"0"=false
,那么在JavaScript中将参数值转换为布尔值将很容易,例如Node.js:

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

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

0
投票

您可以使用 url 作为

 action=" file_name.any?update=%true"

© www.soinside.com 2019 - 2024. All rights reserved.