Node.js应用中EJS视图表格无法显示MySQL用户数据求助
问题解决方法
问题根源
MySQL的SELECT查询返回的rows是结果数组,哪怕匹配到的用户只有1条,数据也会被包裹在数组内部。你直接将整个数组赋值给userdata传入EJS模板,模板中直接访问userdata.isim这类对象属性是取不到值的,因此td区域显示为空。
修复步骤
- 修改
server.js中渲染模板的代码,取出数组中第一个(也是唯一的一条)用户数据传递给模板:
// 原代码 res.render('client-data', {userdata: rows}); // 修改后代码 res.render('client-data', {userdata: rows[0]});
- 可选调试操作:可以在EJS模板开头临时添加一行
<% console.log(userdata) %>,服务端运行时会打印传入的userdata结构,方便确认数据格式是否符合预期。 - 清理EJS模板末尾多余的
html>字符,避免出现不必要的页面渲染异常。
内容的提问来源于stack exchange,提问作者user16617036
相关产品推荐
相关产品推荐

