私はNodejs Expressを使用しています。データベースのリストユーザーをWebページに表示しようとしています。中間のjsonファイルを作成してすべてのユーザーの詳細を保存し、Webページに表示しました。サーバーサイドコードは、新しいエントリや削除についてjsonファイルとデータベースを更新しますが、データはWebページに反映されません。それは一度私はサーバーを再起動反映されます。変更時にJsonファイルをリロードする
Server.js
app.post('/add', function (req, res) {
new employee({
id : req.body.id,
firstName : req.body.firstName,
lastName : req.body.lastName,
emailId : req.body.emailId
}).save(function (err, employee, count){
if(err) return next(err);
});
var db = new json("user-list",true,false);
var count = db.getData('/count');
//console.log(result[item].firstName)
db.push('/user/'+count+'/firstName',req.body.firstName);
db.push('/user/'+count+'/lastName',req.body.lastName);
db.push('/user/'+count+'/emailId',req.body.emailId);
db.push('/user/'+count+'/id',req.body.id)
db.push('/count',count+1);
db.save();
db.reload();
res.redirect('/Webpage');
});
Webpage.js
var users = require('../user-list.json');
router.get('/', function(req, res, next) {
res.render('Webpage', {
title: 'Express' ,
user : users.user
});
});
Webpage.ejs:任意の変更が行われた場合、私は、Webページに表示されるデータを取得できますか
<% for(var item in user) { %>
<tr>
<td><%= user[item].id %></td>
<td><%= user[item].firstName %></td>
<td><%= user[item].lastName %></td>
<td><%= user[item].emailId %></td>
<td>
<span onclick="editUser()" class="glyphicon glyphicon-edit"></span>
<span onclick="deleteUser(<%= user[item].id %>)" class="glyphicon glyphicon-remove"></span>
</td>
</tr>
<% }%>
?私はしばらくブラウジングして、何も助けにならないことを見つけました。
をアプリケーションは、起動時にファイルを読み込むんかそれが(関連)ページ要求ごとにそれを読んでいますか? –
私はそれが開始時にのみファイルを読み込み、その後、同じファイルを将来の要求のために取得すると思います。 –
"..そして、将来の要求のために同じファイルを取り出す" - もし可能であれば、あなたの質問に関連するコードを追加して、他の人がファイルの読み込み方法と更新されていない理由を調べることができますか? –