我正在用 npmjs 的 apiai 包制作一个聊天机器人。
我有一个名为“brain.js”的 javascript 文件,我已经对其进行了浏览化处理,以便 html 浏览器可以知道什么是 require 关键字。但是我面临的问题是,当我想将该函数(在 js 文件中)与 dom 元素绑定时,例如使用 onclick() 函数,我的函数似乎没有被正确引用。但是当我没有将它与 onclick 事件绑定时,一切似乎都正常。我很高兴从社区获得一些关于如何让我的聊天机器人在 html 中工作的建议。
这是 Brain.js 的外观:
function fun(){
var c;
var apiai=require('apiai');
const getJSON = require('simple-get-json');
var app = apiai("3dd3ae56a8094061a8fe8745dcad45a0");
var options = {
sessionId: 'UNIQE SESSION ID'
};
var request = app.textRequest("book me a good hotel",options);
request.on('response', function(response) {
if(response.result.action.match('hotel.book')){
var url='http://api.openweathermap.org/data/2.5/weather?q=';
var location='delhi';
var end='&APPID=761ddf2847a0e1dc0ff709d8e9745d72';
getJSON((url+location+end),function(data){
// console.log('the temperature in '+location+' is : '+data.main.temp);
document.addEventListener("onload",function(){document.getElementById('text').innerHTML= 'data.main.temp';})
});
}
});
request.on('error', function(error) {
// document.getElementById('demo').innerHTML='shit it is error!!!';
});
request.end();
return c;
}
我没有附上浏览器化的代码片段以避免该页面看起来笨拙。
这是我要运行的 html 文件:
<!DOCTYPE html>
<html>
<head >This is starting.
<script src='bundles.js'>
</script>
</head>
<body>
<h1 id='text' >Click on this text!</h1>
<h1 id='test'>Hello here</h1>
</body>
</html>
如果还有什么不清楚的地方,请告诉我。我一直在努力寻找替代方案。因此,我们将不胜感激任何建议或干净的方式来做到这一点。提前致谢。