繁体   English   中英

如何将数据从节点js传递到html?

[英]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/

这是有关如何开始使用node.js的博客。 单击此处,我为nodejs创建了入门工具包。如果您有兴趣,请单击此处。

建立路由并使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM