[英]How to pass data from node js to html.?
我如何简单地将变量从节点js传递到html并将其显示在页面中? 什么是简单的机制。 我正在尝试使用节点js开发一个简单的待办事项清单
您可以使用两种方法查看从node(服务器端)到html的数据:
1-您可以在node中创建一个文件,该文件返回json中的数据,然后从JQuery中执行一个ajax调用此页面,并用它替换部分HTML。 节点js中的示例代码:
var usersFilePath = path.join(__dirname, 'users.min.json');
apiRouter.get('/users', function(req, res){
var readable = fs.createReadStream(usersFilePath);
readable.pipe(res);
});
Ajax呼叫:
$.get( "/users", function( data ) {
$( ".result" ).html( data );
alert( "Load was performed." );
});
2-您可以将Express与Jade一起使用(我建议http://expressjs.com/ )
建立路由并使用res.send
方法响应html内容。 html内容可以使用es2015模板来包含变量作为响应。 因此,它看起来像:
const name = 'pradeep';
res.send(`hello ${name}`);
试试这个,可能对您有帮助。
以下功能会将您的动态数据绑定到html
function doDataBinding(data, databindings){
for(var prop in databindings)
if( databindings.hasOwnProperty(prop) )
data = data.split('${'+prop+'}').join(databindings[prop]);
return data;
}
验证动态数据绑定的示例请求如下
app.use('/*', function(req, res){
//sample binding data
var dataToBind = { 'msg' : 'You\'ve been logged out successfully.' , 'error' : 'The username and password that you entered don\'t match.' };
res.writeHead(200, {
"Content-Type": "text/html"
});
fs.readFile( __dirname + '/login.html', 'utf8' ,function(err, data) {
if (err) throw err;
data = doDataBinding(data,dataToBind);
res.write(data);
res.end();
});
});
尝试使用具有$ {msg}和$ {error}数据绑定的login.html。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.