如何简单地将变量从节点js传递给html并在页面中显示? 什么是简单的机制。 我正在尝试使用节点js
开发一个简单的待办事项列表答案 0 :(得分:2)
这里有两种方法可用于查看从节点(服务器端)到html的数据:
1-您可以在节点中创建一个文件,该文件在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-你可以用翡翠快递(我推荐 http://expressjs.com/)
以下是关于如何开始使用node.js Click Here的博客 我为nodejs创建了一个入门套件如果您对Click Here
感兴趣答案 1 :(得分:0)
建立路线并使用res.send
方法回复html内容。 html内容可以使用es2015模板来包含响应中的变量。所以它看起来像:
const name = 'pradeep';
res.send(`hello ${name}`);
答案 2 :(得分:0)
试试这个,它可能对你有帮助。
以下函数会将动态数据绑定到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。