2017-03-03 52 views
0

如何简单地将节点js中的变量传递给html并将其显示在页面中? 什么是简单的机制。 我试图用开发一个简单的待办事项列表节点JS如何将数据从节点js传递给html。?

+2

看看基于Node.js的框架,如['express'](https://expressjs.com) – piotrbienias

+1

[将node.js传递给html]的可能重复(http://stackoverflow.com/questions/37991995 /传递变量 - 从节点 - js-to-html) –

+0

哦..谢谢。我可以不用快递吗? –

回答

1

有两种方法在这里你可以用它来从节点(服务器端)查看数据,以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

+0

Express不是一个模板引擎。它使用Jade,这是一个模板引擎。您也可以使用把手或EJS。 – Crowes

0

建立路线并使用res.send方法以html内容进行响应。 html内容可以使用es2015模板在响应中包含一个变量。所以它看起来像:

const name = 'pradeep'; 
res.send(`hello ${name}`); 
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。

+0

感谢您的评论 –