【问题标题】:Why does comparing objects values return false? [closed]为什么比较对象值返回 false? [关闭]
【发布时间】:2020-02-11 19:52:56
【问题描述】:

我正在创建一个电子邮件检查器,以查看在前端输入的电子邮件是否与后端的电子邮件完全相同。我设法同时获得了前端和后端电子邮件,但每次我检查它们时它都会返回 false,即使它们是相同的值。我正在使用 Object.is 来检查值是否相同,我也尝试了典型的 (data.email === user.email ) 方法,但即使值相同,它仍然返回 false。

router.get('/checkemail',(req,res)=>{
  let data = req.query;
  console.log(data)
  User.findOne({
    username: data.username,
  },function(error,user){
  if(error){
    res.status(401).send(error)
  } else if(Object.is(user.email, data.email)) {
    res.status(200).send(true)
  } else {
    res.status(401).send(false)
  }
})
  })

【问题讨论】:

  • user.emaildata.email的值是多少?
  • domdiddy125@gmail.com
  • 确保没有多余的空格或外来字符。
  • console.log('%o %o', user.email, data.email) 的输出是什么?
  • 一模一样,能不能在本地运行?

标签: javascript html css mongodb mongoose


【解决方案1】:

您可以尝试在 object.is 的每个参数上使用 trim() 函数吗?

Object.is(user.email.trim(), data.email.trim())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2019-05-10
    • 2021-10-04
    • 2017-11-04
    相关资源
    最近更新 更多