Как отправить мой строковый объект в HTML-тело - PullRequest
2 голосов
/ 29 сентября 2019

Я отправляю html файл клиенту методом res.write(). Я также хочу отправить object, прикрепленный к этому html. Я попытался stringify этот объект и записал его так, как я написал файл html, но когда я это сделаю, мой json object зашитый в строку остается за пределами html. Мне нужно, чтобы этот объект json находился внутри html, поэтому я могу проанализировать его с помощью js-файла на стороне клиента.

как мне это исправить?

Я пытался отправить его какJson object. но я не смог получить его через html.

app.get('/uniform', (req,res) => {
  fs.readFile('uniformflowindex.html', function(err, data) {
    var channelobj = JSON.stringify(channel);
    res.write(data);
    res.write("<div id='objectstring'>" + channelobj + "</div>");
    res.end('');
  });
});

, он выдает:

<html>

...
my html file
...

</html>

<div id='objectstring'>{"_events":{},"_eventsCount":0,"Discharge":20,"FlowDepth":5.......}</div>

Я просто хочу, чтобы этот div был в файле html.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

В html-коде может быть подстановочный знак, а затем заменить подстановочный знак содержимым div.

Например:

<html>

...
my html file
...

[[wildcard]]

</html>

, а затем использовать:

app.get('/uniform', (req,res) => {
fs.readFile('uniformflowindex.html', function(err, data) {
var channelobj = JSON.stringify(channel);
res.write(data.replace('[[wildcard]]', "<div id='objectstring'>" + channelobj + "</div>"));
res.end();
})
});

Кроме того, вы не можете добавлять подстановочный знак в ваш html и просто заменить один из ваших закрывающих тегов, таких как <\body> или <\html>, своим контентом + сам закрывающий тег ...

app.get('/uniform', (req,res) => {
fs.readFile('uniformflowindex.html', function(err, data) {
var channelobj = JSON.stringify(channel);
res.write(data.replace('</body>', "<div id='objectstring'>" + channelobj + "</div></body>"));
res.end();
})
});
1 голос
/ 30 сентября 2019

HTML-файл:

<html>

...
{ content }
...

</html>

ваш код:

app.get('/uniform', (req,res) => {
  fs.readFile('uniformflowindex.html', function(err, data) {
    var channelobj = JSON.stringify(channel);
    data = data.replace('{ content }', "<div id='objectstring'>" + channelobj + "</div>");
    res.end(data);
   })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...