布尔查询参数被 Sails.js 视为字符串
Boolean query parameter being treated as string by Sails.js
我的"用户"模型(表(具有一个名为"active"的属性(列(type: 'boolean'
。查询蓝图 API 时:
案例1:http://localhost:1337/user?active=true
不返回任何数据。然而
案例2:http://localhost:1337/user?active=1
以所需的方式运行。
我尝试跟踪请求,但无法超越 actionUtil.js。where
在案例 1 中返回{active: 'true'}
,在案例 2 中返回{active: '1'}
。奇怪的是,作为字符串的数字被转换为数字 (1(,但作为字符串的布尔值却没有。由于 ORM 已生成此列的类型为 tinyint(1)
,我确信某处发生了"1"到 1 的转换。我只需要将布尔值的另一个转换添加到 0/1。有什么帮助吗?
如果有人能解释请求跟踪,那就太好了!我不知道查找.js中的exec()
函数在哪里定义。
我确信某处发生了"1"到 1 的转换。
是的--在Javascript中。 启动您的 Javascript 控制台并尝试:
"1" == true
"0" == false
"true" == true
"false" == false
前两个将返回true
. 后两个将返回false
.
如果要将蓝图与查询字符串一起使用,则必须处理查询字符串中的所有内容都是字符串的事实。 这意味着使用1
和0
而不是 true
和false
,除其他外(例如小心===
(。
相关文章:
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 如何在JS文件中获取资源(.resx)字符串
- 用有限的字符集压缩字符串,然后在JS中解压缩
- node.js将字符串转换为要上传到Web服务器的文件
- 在 JS 中添加字符串之前强制换行
- 从JS中的字符串中读取数字的库
- 将字符串转换为JS对象
- Js char数组将字符串整数视为整数
- 闭包js框架-将ArrayBuffer转换为字符串
- 从字符串JS的末尾提取子字符串
- 替换除匹配字符串JS Regex之外的所有内容
- 在我的情况下,lastindexof和子字符串js混淆
- 如何把空格后的数字在字符串js
- 删除字符串JS最后一个字母之后的所有字符
- 如何删除重复字符形式字符串?- JS
- 字符串.JS格式
- 是否有php字符串/JS警告框的最大行数?
- 清理可搜索的字符串JS
- 忽略字符串- JS - Regex的第一个字符
- 从字符串 JS/jQuery 中删除 HTML 标记