我无法弄清楚如何通过URL字符串传递布尔值为false的变量。什么是正确的方法?
答案 0 :(得分:26)
网址是字符串,网址中的所有值都是字符串。当您在网址中看到i=0
时,0
是一个字符串。当您看到b=true
时,true
是一个字符串。当您看到s=
时,该值为空字符串。
对于那些带有另一种含义的字符串 - 整数0
或布尔true
,比如说 - 必须告诉服务器端程序如何解释它们。通常,Web框架会对正确的类型进行智能猜测,或者有时会在模型中明确声明类型。
您将如何做到这完全取决于您使用的服务器端语言和框架(如果有)。
答案 1 :(得分:1)
这取决于您如何解释参数字符串。您可以编写可以转换字符串值的转换器" false"," 0",""为假。你可以采取所有方法,任何一种方法或混合。
答案 2 :(得分:0)
就像上面提到的那样,它取决于如何使用服务器端语言。要添加到答案中,如果您想在URL中传递true或false作为参数,则可以
服务器上的运行节点
const whatever = JSON.parse(queryStringParameter)
在服务器上运行php
$whatever = json_decode(queryStringParameter)
这两个选项都将为您提供可在服务器上使用的布尔类型。
答案 3 :(得分:0)
如果您可以制作 "1"=true
和 "0"=false
,那么在 JavaScript 中将参数值转换为布尔值会很容易,例如Node.js:
// !!1 = true;
// !!0 = false;
let test = !!parseInt(req.query.test);