[英]How to pass of node.js to html?
因此,我正在使用node.js来使用IBM Cloud的一个API。 我有这段代码,有了它,我可以可视化响应,但是,我需要将此“ 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));
}
});
});
您的代码必须向客户端(Web浏览器)返回HTTP响应。 因此,您有一些与不同功能相关的选项,可以在Express响应对象上调用(在您的情况下为res )。 有关更多信息,请参见此处 。
您可以像使用一样使用res.send([body]) :这将在HTTP响应主体中写入您创建的字符串,并附加Tone Analyzer返回的值。 但是,这只会返回带有该字符串的空白页,对于具有特定外观的更复杂的Web应用程序,可能不希望这样做。 在这种情况下,您可以使用模板引擎,该引擎会将您选择的变量的值附加到页面(视图)的静态HTML代码中。 有关更多信息,请参见将模板引擎与Express一起使用 。
请注意,无论选择哪种解决方案,显然您只能将HTTP响应发送回客户端一次,因此,您只能选择上述选项之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.