2017-03-03 91 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

感謝您的評論 –