node.js express传递object给ejs(二)
2014-03-13 20:31
369 查看
在上一篇中,express要传递一个object给ejs,是自己先把object序列化成json字串,然后传递给ejs,ejs收到手再解析成json元件。
查看资料,说express连function都可以传递给ejs,那表示是在进程内传递的,应该能直接传递json元件,不需要先序列化成json字串。
在ejs中:
这里要注意,s01和s02不相等,s01得到的是[object Object........
s02得到的才是真正的json字串。因为o1的类型是string。
查看资料,说express连function都可以传递给ejs,那表示是在进程内传递的,应该能直接传递json元件,不需要先序列化成json字串。
exports.yjUser = function(req, res){ var sql = require('msnodesql'); var conn_str = "Driver={SQL Server Native Client 11.0};Server={.\\sql2008};Database={erp};uid=sa;PWD=1234;"; sql.open(conn_str, function (err, conn) { if (err) { console.log("Error opening the connection!"); return; } conn.queryRaw( "SELECT UserOID,UserAID,Name FROM Users", function (err, results) { if (err) { console.log("Error running query!"); res.end(err); return; } try { for (var i = 0; i < results.rows.length; i++) { console.log("0:" + results.rows[i][0]); } res.render('user.ejs',{data:resuls}); } catch(e) { res.end(e); } } ); } ); }
在ejs中:
<!DOCTYPE html> <html> <head> <style type="text/css" title="currentStyle"> @import "javascripts/dataTables-1.9.4/media/css/demo_page.css"; @import "javascripts/dataTables-1.9.4/media/css/demo_table.css"; </style> <script src="javascripts/jquery/jquery-1.10.1.js"></script> <script src="javascripts/dataTables-1.9.4/media/js/jquery.dataTables.js"></script> <script src="javascripts/json/json2.js"></script> <script type="text/javascript"> var g_data = null; $(document).ready(function() { var g_data=<%- JSON.stringify(locals.data)%>; var o1 = '<%- locals.data %>'; var s01 = JSON.stringify(o1); var s02 = '<%- JSON.stringify(locals.data)%>'; $('#div_json1').text(s01); $('#div_json2').text(s02); $('#dynamic').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>'); $('#example').dataTable({ "aaData" : g_data.rows, "aoColumns" : [{ "sTitle" : "UserOID" }, { "sTitle" : "用户标识" }, { "sTitle" : "用户名", "sClass" : "center" }] }); }); </script> </head> <body> <h1>My Name is:</h1> <h1 id="h_name"></h1> <div id="div_json1"></div> <br> <div id="div_json2"></div> <br> <div id="div_json3"></div> <div id="dynamic"></div> </body> <% include foot.ejs %> </html>
这里要注意,s01和s02不相等,s01得到的是[object Object........
s02得到的才是真正的json字串。因为o1的类型是string。
相关文章推荐
- nodejs+express+ejs+mongoose实例
- Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问题
- 从零开始搭建Node.js, Express, Ejs, Mongodb服务器
- 【Node.js-4】jade介绍、include、传递数据、定义变量、for等高级用法、ejs
- nodejs+ejs+express+echart+
- Nodejs express框架一个工程中同时使用ejs模版和jade模版
- nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例
- 用node.js+express+ejs+bootstrap来建立一个基本网页
- nodeJS+express+ejs构建web应用
- Nodejs 开发指南 Nodejs+Express+ejs 开发microblog开发心得
- node.js 安装配置 npm ,express,ejs模板
- 零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
- Displaying an image with EJS in node.js/express
- nodejs express框架一个工程中同时使用ejs模版和jade模版
- Nodejs express使用ejs模版
- Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问
- 基于nodejs+express+ejs的系统的开发环境搭建
- nodejs+express+ejs+mongoose实例
- 从零开始搭建Node.js, Express, Ejs, Mongodb服务器
- node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能