2017-03-03 8 views
0

ノードjsからhtmlに変数を渡してページに表示するにはどうすればよいですか? 単純なメカニズムは何ですか? は、私が使用して簡単なto-doリストを開発しようとしていますノードのjsノードjsからhtmlにデータを渡す方法は?

+2

['express'](https://expressjs.com)のようなNode.jsベースのフレームワークを見てください – piotrbienias

+1

[node.jsからhtmlに変数を渡す]可能な複製(http://stackoverflow.com)/questions/37991995/pass-a-variable-from-node-js-to-html) –

+0

ああ...お元気ですか? –

答えて

1

2つのアプローチは、あなたがHTMLにノード(サーバ側)からのデータを表示するために使用することができますここにあります

1 - あなたは、ファイルを作成することができますjsonでデータを返すノードでは、JQueryからこのページを呼び出して、HTMLの一部をAjaxで置き換えることができます。ノード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 nodej用のスターターキットを作成しました。興味があればClick Here

+0

Expressはテンプレートエンジンではありません。テンプレートエンジンであるJadeを使用します。ハンドルバーまたはEJSを使用することもできます。 – Crowes

0

経路を確立し、res.sendメソッドを使用してhtmlコンテンツで応答します。 htmlコンテンツではes2015テンプレートを使用して、応答に変数を含めることができます。したがって、次のようになります。

const name = 'pradeep'; 
res.send(`hello ${name}`); 
0

これを試してみてください。

次の関数は)

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(); 
}); 

}は次のように結合動的データを検証する

function doDataBinding(data, databindings){ 
for(var prop in databindings) 
    if(databindings.hasOwnProperty(prop)) 
     data = data.split('${'+prop+'}').join(databindings[prop]); 
return data; 

}

サンプル要求はHTMLにダイナミックデータを結合します。

$ {msg}と$ {error}データバインディングを持つlogin.htmlを試してみてください。

+0

あなたのコメントありがとう –

関連する問題