node.js - 无法读取未定义 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 的属性“名字”
解决方案
我认为您那里有同步问题。
您试图在函数回调结束之前访问 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],
});
});
推荐阅读
- python - 嗨,我如何使用 Flask(python) 将 sqlite 数据库中的所有元素加在一起以获得数字的总和
- expressionengine - EE 5.x - 如何禁止登录/注销确认页面
- php - Php Mailer 在生产中以垃圾邮件告终
- jquery - 将选中的复选框值填充到动态创建的下拉列表时出现问题
- c - 我想从用户那里获取数字,然后打印它是否为素数,但我找不到结果总是不是素数的错误是什么所以有什么问题?
- swift - Swift 元组比较
- c++ - 当 {} 与 new 一起使用来创建 std::array 时,绕过 T 的默认构造函数
- docker - 通过 docker compose 重新使用现有卷
- pointers - 常量 int 和指针示例
- python - Pandas:是否可以使用多个符号分隔符读取 CSV?