流浪的菜袅 2023-04-19 22:51 采纳率: 79.5%
浏览 12
已结题

nodejs传的值到前端后数据发生改变

大锅们,球解答!
碰到个问题,我数据库表中的一个字段数据类型为tinyint,前端正常传值过去,true为1,false为0,当前端请求,nodejs获取到数据的时候将这个1和2又转成了true和false,但是这个时候,数据到了前端后,true又变成了false是怎么回事啊

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-22 06:08
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答来自chatgpt:

      对于这个问题,可能由于前端传递的true和false是字符串类型,而在nodejs中,默认情况下会将字符串类型的"1"和"0"转化为布尔类型的true和false,进而导致传输到前端后,又被转换回来,出现了问题。解决方案可以尝试将接收到的数据进行强制类型转换,将接收到的布尔类型的true和false转化为数字类型的1和0,或者直接使用三元表达式进行转换:

      //强制类型转换
      let result = Number(req.body.key) //或者 parseInt(req.body.key)
      //三元表达式
      let result = req.body.key === "true" ? 1 : 0
      

      需要按照实际情况选择合适的转换方法。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月19日

悬赏问题

  • ¥15 微信实时共享位置修改
  • ¥100 TG的session协议号转成直登号号后客户端登录几分钟后自动退出设备
  • ¥30 共模反馈回路的小信号增益
  • ¥15 arduino ssd1306函数与tone函数放歌代码不兼容问题
  • ¥70 0.96版本hbase的row_key里含有双引号,无法deleteall
  • ¥20 Ida Pro增加插件出现问题
  • ¥15 诊断性META分析合并效能的检验
  • ¥15 请问abb根据色块判断奇偶数并根据批次号放入仓储
  • ¥66 开发PC客户端一定也要开发上位机吗?
  • ¥20 Java eclipse连接数据库