Как перейти node.js в html?

Итак, я работаю с node.js для использования одного API IBM Cloud. У меня есть этот код, и с его помощью я могу визуализировать ответ, но мне нужно передать этот "res.send" в HTML. Итак, как я могу это сделать?

Это мой код в Node.js. Спасибо!

var express = require('express');
var path = require('path');
var app = express();


app.listen(2000, function () {
  console.log(' Watson!');
});

//---------------

app.get('/', (req, res) => {

//-------------Watson
var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');

var tone_analyzer = new ToneAnalyzerV3({
  username: '',
  password: '',
  version_date: '2017-09-21',
  accept_language: 'es',
  tone_name: 'es'
});

var params = {
  'tone_input': require('./tone.json'),
  'content_type': 'application/json',
  'content_language' : 'en',
  'accept_language' : 'es'
};

tone_analyzer.tone(params, function(err, response) {
  if (err){
    console.log('error:', err);
    res.send(err);
  }
  else{

    res.render('index.html');
    res.send({"Hi! I'm Waton and I can see:":response.document_tone.tones[0].tone_name});
    console.log(JSON.stringify(response, null, 2));
}
  });

});

2 ответа

Я думаю, что вы хотите этот формат, который отображает представление и передает локальную переменную в представление

res.render(view [, locals] [, callback])

Вот хороший пример

Ваш код должен вернуть HTTP-ответ клиенту (веб-браузер). Поэтому у вас есть несколько опций, связанных с различными функциями, которые можно вызывать для объекта ответа Express (в вашем случае это res). Смотрите здесь для получения дополнительной информации об этом.

Вы можете использовать res.send([body]) так же, как и вы: в тексте ответа HTTP будет записана созданная вами строка с добавлением значения, возвращаемого Tone Analyzer. Однако это просто вернет пустую страницу с этой строкой, и, возможно, это не то, что вам нужно в случае более сложного веб-приложения с его особым внешним видом. В этом случае вы можете использовать шаблонизатор, который добавит значения переменных по вашему выбору в статический HTML-код страницы (представление). См. Использование шаблонизаторов с Express для получения дополнительной информации.

Обратите внимание, что какое бы решение вы ни выбрали, очевидно, что вы можете отправить HTTP-ответ клиенту только один раз, поэтому вы должны выбрать только один из вышеупомянутых вариантов.

Другие вопросы по тегам