【问题标题】:Property error of undefined未定义的属性错误
【发布时间】:2018-08-24 03:01:19
【问题描述】:
router.post('/:token',(req,res)=>{
let language= req.query.l
let name= req.query.n
let param =[]

if(req.path.length == 5){
param.push({
language=language
},{
name=name
})


ddp.person_connected(param,function(err,res){
    if(err){
res.err=err
        }else{

        res.sucess=true
        res.send(param).listen
    }
})
res.sendStatus(200) 

}else{
    res.sendStatus(401)
}
})

我想检查我的路径(令牌)是否等于有效的路径长度,我可以获取所有数据但我想将其存储在我的数据库中,所以我收到错误

TypeError: 无法设置未定义的属性 'err'

也许我必须做一个承诺?

【问题讨论】:

  • 你能正确缩进你的代码吗?
  • @Taieb 这里的人们会花时间帮助您,所以请花时间正确格式化您的代码。
  • @d3L 抱歉,我编辑了它,我认为现在还可以。

标签: javascript node.js express meteor


【解决方案1】:

试试这个,你也给了 box_connected 回调和路由的 res 变量。

router.post('/:token', (req, res) => {
    let language = req.query.l
    let name = req.query.n

    if (req.path.length == 5) {
        let param = [{
            language
        }, {
            name
        }];
        ddp.person_connected(param, function (err, resp) {
            if (err) {
                res.err = err
            } else {
                res.sucess = true
                res.send(param).listen
            }
            res.sendStatus(200)
        })
    } else {
        res.sendStatus(401)
    }
})

【讨论】:

  • TypeError: Cannot set property 'err' of undefined 这个对吗?
  • 我没有收到错误消息,但我无法检索数据。
  • 我想我需要做一个承诺,以便我可以检查我的数据库中的令牌和我的请求中的令牌。
  • 不需要承诺,你也可以通过回调来做到这一点。
  • 你能给我解释一下怎么做吗,现在我第一次遇到错误,即使我的令牌是正确的。
【解决方案2】:

您已经定义了两次变量“res”。 尝试将行更改为

ddp.person_connected(param,function(err,response){

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 2014-11-20
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多