收藏
回答

判断两个字符串openid是否相等用的==,有时候可以有时候不可以,这是怎么回事呢?

   if (this.data.myOpenid.trim() == res.result.data[0].open_id.trim()) {

          

          }else{

            this.setData({

              iscloseRight: true

            })

            wx.showToast({

              title: '请使用正确的提货码',

            })

            return

          }


回答关注问题邀请回答
收藏

4 个回答

  • optimistic
    optimistic
    2023-09-18

    这种打印出来比较就是了,最好用正则 /\s/g 去替换所有的空格

    2023-09-18
    有用
    回复
  • 星光刀锋
    星光刀锋
    2023-09-18

    可以做一下记录,看看数据是否正确

    2023-09-18
    有用
    回复
  • Jianbo
    Jianbo
    2023-09-18

    是某个用户的openid无法判断,还是偶发不特定用户?

    2023-09-18
    有用
    回复 3
    • 烟雨蒙蒙
      烟雨蒙蒙
      2023-09-18
      我的逻辑是获取用户openid,与数据库中的绑定的openid是否相等,来判断是否是同一个人来领取这个订单,现在测试的时候,我自己的openid对比,就会出现判断不相等时候,我对比了,openid是相等的
      2023-09-18
      回复
    • Jianbo
      Jianbo
      2023-09-18回复烟雨蒙蒙
      有没有可能存数据里的数据有空格?
      2023-09-18
      回复
    • 烟雨蒙蒙
      烟雨蒙蒙
      2023-09-18
      我.trim(),不可以吗
      2023-09-18
      回复
  • 〆
    2023-09-18

    this.data.myOpenid.trim() 和 res.result.data[0].open_id.trim()

    两个参数保证都能取到数据吗?

    可以的时候和不可以的时候是否有差异?

    代码中排查一下,在什么逻辑或环境的时候是不可以的。

    2023-09-18
    有用
    回复 1
    • 烟雨蒙蒙
      烟雨蒙蒙
      2023-09-18
      都能取到,取到之后才能到后面的步骤的
      2023-09-18
      回复
登录 后发表内容