首页 > 解决方案 > 无法读取未定义 nodejs 的属性“名字”

问题描述

const con = require('./../connection');
 exports.getProfile = async function(req,res){

        var user_id    = req.session.user_id;
        var userList   = '';
        var id         = req.params.id ? req.params.id  : '';
        if(!id)
        {
          id = user_id;
        }
        await con.query('select * from users where id = ?',[id],function(error,results,fields){

            res.render('profile',{
              userResult: results[0],
            });
    });
};

<input type="text" name="f_name" data-required="1" value="<%= userResult.first_name %>" class="form-control">

在 Web 上获得正确响应但在控制台中出现错误无法读取未定义 nodejs 的属性“名字”

标签: node.jsejs

解决方案


我认为您那里有同步问题。

您试图在函数回调结束之前访问 userResult。

我不知道您要在那里完成什么,但您要访问的值将在此处可用:

 await con.query('select * from users where id = ?',[id],function(error,results,fields){
           // HERE YOU CAN ACCESS TO results[0]

            res.render('profile',{
              userResult: results[0],
            });
  });

推荐阅读